Comunidad de diseño web y desarrollo en internet online

Floats Desconocimiento

Citar            
MensajeEscrito el 01 Abr 2015 02:31 am
Buenas noches actualmente, actualmente estoy aprendiendo a maquetar, para ello me baje un psd y estoy tratando de maquetarlo tal cual, estoy intentando colocar un elemento al lado del otro el otro elemento esta dividido en 4 parrafos que que segun el diseño debe estar un parrafo al lado del otro quedando 2 filas y 2 columnas, ahora bien en algunos casos lo he logrado que pero no logro que los elementos queden centrados en el contenedor por que todo se me posiciona a la izquierda



Espero me puedan ayudar.

Gracias

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Abr 2015 03:50 pm
Pues como no podemos ver el código fuente de lo que estás haciendo lo mejor que te puedo decir es que uses "margin: auto;" en el contenedor para mantenerlo centrado.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Abr 2015 02:42 am
Buenas noches, gracias por la respuesta, este el codigo html de ese fragmento

Código HTML :

<div class="why">
                    <section class="why-intro">
                        <h1 class="jw-titles why-title">why choose We?</h1>
                    </section>
                    <section class="why-content">
                       <article class="why-col why-one">
                           <h3>Simplicity</h3>
                           <p>You will not see our jewelry set rhinestones, huge rocks and massive detalley - we appreciate the simplicity.</p>
                       </article>
                       <article class="why-col why-two">
                           <h3>Handmade</h3>
                           <p>All our decorations - handmade and each of them we put a piece of the soul and the long hours of hard work.</p>
                       </article>
                       <article class="why-col why-tree">
                           <h3>The uniqueness</h3>
                           <p>Do you and your friend will never be the same decorations - all our jewelery is unique.</p>
                       </article>
                       <article class="why-col why-four">
                           <h3>Trust</h3>
                           <p>From the outset, we are building a relationship of trust with our customers.</p>
                       </article>
                    </section>
                </div>


y este es el css que esto utilizando para ese fragmento

Código CSS :

.why {
    overflow: hidden;
    width: 960px;
    max-width: 100%;
    margin: 0 auto;
}

.why-intro {
  width: 480px;
}

.why-title {
    width: 186px;
}

.why-content {
    width: 480px;
    float: left;
}

.why-col {
}

.why-one {
    width: 220px;
    float: left;
    margin-left: 20px;
}

.why-two {
    width: 220px;
    float: left;
    margin-left: 20px;
}

.why-tree {
    width: 220px;
    float: left;
    margin-left: 20px;
}

.why-four {
    width: 220px;
    float: left;
    margin-left: 20px;
}


Se que tengo ciertos errores semanticos a nivel de html y errores en el css a nivel de redundancia del codigo y el uso de las clases. Estoy bastante nuevo en esto.

Respecto al margin 0 que menciona DriverOp (gracias por responder) no me funciona el contenedor principal no lo toma.

Gracias nuevamente.

Saludos!

Gracias!

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Abr 2015 12:14 pm
Pues me vas a disculpar pero no entiendo qué es lo que quieres lograr...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 06 Abr 2015 04:36 pm

DriverOp escribió:

Pues me vas a disculpar pero no entiendo qué es lo que quieres lograr...


DriverOp, gracias por responder, no logro hacer que los textos queden igual a la imagen, cuando hago el float no queda como deberia todo el contenido esta a la izquierda sin lograr que los elementos se centren quedando mucho margen a la derecha. si hago un float right entonces cuando minimizo las ventanas los elementos se descuadran.

Espero darme a entender, saludos!

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Abr 2015 12:07 pm
Pues lo lamento pero sigo sin entender. Que los textos queden igual a qué imagen?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 Abr 2015 03:06 pm
Yo tampoco entiendo

Por fede5426

20 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Abr 2015 11:47 pm

DriverOp escribió:

Pues lo lamento pero sigo sin entender. Que los textos queden igual a qué imagen?.


Buenas noches,

Que los textos queden igual a la imagen que esta en el post principal, el post que abrió este tema. tengo dos div uno es el titulo y el otro esta compuesto por 4 parrafos pequeños, deberian estar, el titulo a la izquierda y los parrafos a la derecha los parrafos 2 arribas y 2 abajo, centrados y no me refiero a un texto centrado sino a los elementos, mi problema esta con los floats que no hayo como lograr el efecto u orden que aparece en la imagen que esta arriba.

Gracias!

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Abr 2015 12:30 pm
Pues yo pensé que esa imagen es un screenshot de cómo te está quedando la página que estás haciendo :S.

Olvida los floats.

Necesitas dos elementos <div>. A estos le pones display: inline-block; Ponlos dentro de otro elemento <div> con text-align: center; Ajusta el ancho de cada <div>. En el <div> que te queda a la derecha le pones los cuatro párrafos como lo has hecho en el código que has enviado.

Hay otra forma de hacerlo. Es usando flexbox como se describe aquí:

https://css-tricks.com/snippets/css/a-guide-to-flexbox/ (en inglés).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 10 Abr 2015 02:07 am

DriverOp escribió:

Pues yo pensé que esa imagen es un screenshot de cómo te está quedando la página que estás haciendo :S.

Olvida los floats.

Necesitas dos elementos <div>. A estos le pones display: inline-block; Ponlos dentro de otro elemento <div> con text-align: center; Ajusta el ancho de cada <div>. En el <div> que te queda a la derecha le pones los cuatro párrafos como lo has hecho en el código que has enviado.

Hay otra forma de hacerlo. Es usando flexbox como se describe aquí:

https://css-tricks.com/snippets/css/a-guide-to-flexbox/ (en inglés).


Hola DriverOp,

hice lo que me mencionaste pero no se si entendi bien ya que el resultado es el siguiente:

La propiedad flex la uso en la pagina (algunos elemento del sitio la tienen), pero aun no es totalmente soportada, segun tengo entendido, uso floats para entender como funcionan.

Con flex es una maravilla queda asi:


sin embargo no entiendo porque sigue quedando a la izquierda, si le doy text-align:center lo que hace es centrar el texto no los elementos. no se me ocurre nada, no se que este haciendo mal.

Saludos!

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Abr 2015 04:00 pm
En el primer caso, olvidaste poner en text-align: left; los cuadros de texto.

En el otro, será cuestión de jugar un poco con las propiedades de flex... Si usas Firefox deberías usar Firebug para estas cosas.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Abr 2015 01:34 am

DriverOp escribió:

En el primer caso, olvidaste poner en text-align: left; los cuadros de texto.

En el otro, será cuestión de jugar un poco con las propiedades de flex... Si usas Firefox deberías usar Firebug para estas cosas.


Entiendo, pero en el primer caso a parte del text-align:left no se si logra ver como los elementos de del segundo div descienden un poco quedando descuadrado uno de otros, no tienen el mismo margen superion aun y cuando inspecciono los elementos, no hay ningun margin o paddin top asignado a ninguno de ellos.

¿?

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Abr 2015 05:47 am
Eso pasa porque cuando pones elementos con display: inline-block; tenes que asignar el vertical align. En este caso, los dos contenedores (el que tiene el "WHY CHOOSE WE?" y el que contiene los 4 párrafos) tienen que tener vertical align middle para que el texto de la izquierda se alinee al centro del contenedor de los párrafos.

Y con los párrafos pasa igual, cuando colocas el inline-block tenes que asignarles vertical align top para que se alineen arriba. Y ya para que queden solo 2 columnas, asignas a todos los parrafos que ocupen el 50% del contenedor.

Te dejo un ejemplo terminado:

http://codepen.io/anon/pen/NPZMYV

Vas a notar que los parrafos ocupan el 40% y no el 50%.. igual con los contenedores principales, ocupan menos del 50%. Eso es porque al usar margenes y paddings, ocupan mas espacio del que les asignamos, entonces le damos un ancho de porcentaje menor.

Saludos

Por fede5426

20 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Abr 2015 05:57 am
Por cierto, me acordé que dijiste que estas empezando con esto de la maquetacion. En el ejemplo use selectores css para asignarle estilos a elementos hijos, es probable que no entiendas que significa.

Te lo dejo explicado por las dudas:

Código CSS :

.texto:first-child{
   /*estilos*/
} 
/*Esto significa que estoy asignando estilos al elemento con clase "texto" que sea el primer hijo de su contenedor. */


Código HTML :

<div>
   <div class="texto"></div> <!-- Este es el que estaríamos seleccionando -->
   <div class="texto"></div>
   <div class="texto"></div>
</div>



Código CSS :

.texto:nth-child(2){
   /*estilos*/
} 
/*Esto significa que estoy asignando estilos al elemento con clase "texto" que sea el segundo hijo de su contenedor. Donde se encuentra el 2 colocamos el numero de hijo que queremos seleccionar*/


Código HTML :

<div>
   <div class="texto"></div> 
   <div class="texto"></div> <!-- Este es el que estaríamos seleccionando -->
   <div class="texto"></div> <!-- Y este es el que seleccionariamos con ,texto:nth-child(3) o lo que es lo mismo .texto:last-child (ultimo hijo)-->
</div>


Te lo dejo por las dudas, para mas info busca Selectores y PseudoSelectores de CSS.
Ahora si, nos vemos espero que te sirva.

Saludos

Por fede5426

20 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Abr 2015 05:49 pm

fede5426 escribió:

Por cierto, me acordé que dijiste que estas empezando con esto de la maquetacion. En el ejemplo use selectores css para asignarle estilos a elementos hijos, es probable que no entiendas que significa.

Te lo dejo explicado por las dudas:

Código CSS :

.texto:first-child{
   /*estilos*/
} 
/*Esto significa que estoy asignando estilos al elemento con clase "texto" que sea el primer hijo de su contenedor. */


Código HTML :

<div>
   <div class="texto"></div> <!-- Este es el que estaríamos seleccionando -->
   <div class="texto"></div>
   <div class="texto"></div>
</div>



Código CSS :

.texto:nth-child(2){
   /*estilos*/
} 
/*Esto significa que estoy asignando estilos al elemento con clase "texto" que sea el segundo hijo de su contenedor. Donde se encuentra el 2 colocamos el numero de hijo que queremos seleccionar*/


Código HTML :

<div>
   <div class="texto"></div> 
   <div class="texto"></div> <!-- Este es el que estaríamos seleccionando -->
   <div class="texto"></div> <!-- Y este es el que seleccionariamos con ,texto:nth-child(3) o lo que es lo mismo .texto:last-child (ultimo hijo)-->
</div>


Te lo dejo por las dudas, para mas info busca Selectores y PseudoSelectores de CSS.
Ahora si, nos vemos espero que te sirva.

Saludos


Wow! sin palabras fede5426. Muchas gracias por tomarte el tiempo para hacer el ejemplo, todo muy bien explicado, analizando lo que hiciste para implementarlo. He leido acerca de pseudoselectores pero todavia no me siento apto para trabajar con ellos. Gracias nuevamente!

Agradecido tambien con DriverOp por toda su ayuda que llevo a la explicacion fina de fede5426. Gran aporte.

Saludos! :D

Por abrahamp

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Abr 2015 12:31 pm
Cierto. Olvidé lo del vertical-align. Mala costumbre de usar CSS Resets :P.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.