2011-03-04 15 views
30

Para cada buzón, quiero que la miniatura flote a la izquierda y que el texto flote a la derecha. No quiero que el pulgar se ajuste al texto.Float CSS: flotando una imagen a la izquierda del texto

Aquí está mi código html:

<div class="post-container">     
    <div class="post-thumb"><img src="thumb.jpg" /></div> 
    <div class="post-title">Post title</div> 
    <div class="post-content"><p>post description description description etc etc etc</p></div> 
</div> 

He intentado algunas maneras y todavía no puede conseguir que funcione ... el texto no se mostrará a la derecha ...

Aquí está mi código CSS:

.post-container{ 
    margin: 20px 20px 0 0; 
    border:5px solid #333; 
} 

.post-thumb img { 
    float: left; 
    clear:left; 
} 

.post-content { 
    float:right; 
} 

Respuesta

69

Esto es lo que eres fter?

  • que cambió su título en una etiqueta h3 (cabecera), porque es una elección más semántica que usando un div.

Live Demo #1
Live Demo #2(con cabecera en la parte superior, no está seguro de si quería que)

HTML:

<div class="post-container">     
    <div class="post-thumb"><img src="http://dummyimage.com/200x200/f0f/fff" /></div> 
    <div class="post-content"> 
     <h3 class="post-title">Post title</h3> 
     <p>post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc post desc </p> 
    </div> 
</div> 

CSS:

.post-container { 
    margin: 20px 20px 0 0; 
    border: 5px solid #333; 
    overflow: auto 
} 
.post-thumb { 
    float: left 
} 
.post-thumb img { 
    display: block 
} 
.post-content { 
    margin-left: 210px 
} 
.post-title { 
    font-weight: bold; 
    font-size: 200% 
} 
+0

Gracias por esto Si quiero que el contenido de .post-content se alinee con la mitad inferior de la imagen post-thumb, ¿cómo hago eso? No puedo dar altura a '.post-content'. –

+0

que pasa si no conozco el ancho de la imagen pero ahora, 'margin-left: 210px' on' .post-content' está ahí ..! ¿Hay alguna manera de arreglarlo sin usar js? –

+0

@ZekeDran: http://jsfiddle.net/RXrvZ/2474/, http://stackoverflow.com/questions/7189608/how-do-i-make-an-input-element-occupy-all-remaining-horizontal -space/7190310 # 7190310 – thirtydot

0

Establezca el ancho de post-contenido y post-thumb para que obtenga un diseño de dos columnas.

1

.post-container{ 
 
    margin: 20px 20px 0 0; 
 
    border:5px solid #333; 
 
    width:600px; 
 
    overflow:hidden; 
 
} 
 

 
.post-thumb img { 
 
    float: left; 
 
    clear:left; 
 
    width:50px; 
 
    height:50px; 
 
    border:1px solid red; 
 
} 
 

 
.post-title { 
 
    float:left; 
 
    margin-left:10px; 
 
} 
 

 
.post-content { 
 
    float:right; 
 
}
<div class="post-container">     
 
    <div class="post-thumb"><img src="thumb.jpg" /></div> 
 
    <div class="post-title">Post title</div> 
 
    <div class="post-content"><p>post description description description etc etc etc</p></div> 
 
</div>

jsFiddle

4

sólo tiene que flotar ambos elementos restantes:

.post-container{ 
    margin: 20px 20px 0 0; 
    border:5px solid #333; 
} 

.post-thumb img { 
    float: left; 
} 

.post-content { 
    float: left; 
} 

Editar: en realidad, no es necesario el ancho, simplemente flotar tanto a la izquierda

+0

Asegúrese de tener un div con clara: tanto por debajo de la #div. post-contenido también. – Demelziraptor

1

casi siempre sólo tiene que utilizar overflow: hidden en mi texto-elementos en esas situaciones, a menudo funciona como un encanto;)

.post-container { 
margin: 20px 20px 0 0; 
border:5px solid #333; 
} 
.post-thumb img { 
float: left; 
} 
.post-content { 
overflow:hidden; 
} 
Cuestiones relacionadas