2012-08-07 9 views
24

Vorrei raggiungere il seguente posizionamento:Testo flottante nel blocco accanto all'immagine

Due testi diversi (in blocco) fluttuanti/in linea accanto all'immagine. (Tutto dentro div).

Ho provato con diverse impostazioni di visualizzazione (blocco + in linea per testo ecc.) Ma non funziona ancora.

enter image description here

HTML:

<div class="res"> 
<img src="<?php echo 'img/'.$row["sType"].'.png';?>"/> 
<span>TITLEe</span> 
<span>Description</span> 
</div> 

CSS:

.res { 

    height:60px; 
    background-color:yellow; 
    border-bottom:1px solid black; 
    text-align:left; 

} 

.res img { 

    margin-top:8.5px; 
    margin-left:5px; 
    display:inline 
} 

.res span { 

    display:block; 
} 
+0

Cosa dovrebbe accadere se il testo 'descrizione elemento 'si estende oltre th e parte inferiore dell'elemento immagine? –

+0

cosa hai provato? condividi il tuo codice qui. –

+0

Aggiungi il tuo html per favore. – Narendra

risposta

40

HTML:

<div class="content"> 
    <img src="http://cdn4.iconfinder.com/data/icons/socialmediaicons_v120/48/google.png"/ alt="" > 
    <h3>Title</h3> 
    <p>Some Description</p> 
</div>​ 

CSS:

.content { 
    width: 400px; 
    border: 4px solid red; 
    padding: 20px; 
    overflow: hidden; 
} 

.content img { 
    margin-right: 15px; 
    float: left; 
} 
+0

Thnak you, funziona come volevo :) – John

+0

Siete i benvenuti. Se pensi che sia conforme alle tue esigenze, non dimenticare di accettarlo ;-) –

+1

Super disponibile e super semplice. Il mio debole cervello continuava a voler spostare il * testo * a sinistra, non l'immagine. Questo semplice esempio era uno schiaffo sulla fronte! * Ovviamente * l'immagine dovrebbe ricevere il float, non il testo! Grazie per questa risposta elegante. –

1

provare questo ..... dovrebbe funzionare

html:

<div id="testDiv"> 
    <div class="imgContainer"><img src="path/image.jpg" /></div> 
    <div class="textContainer"></div> 
</div> 

css:

#testDiv { float:left; width: 360px; } 
#testDiv .imgContainer { float:left; width:120px; height:90px; } 
#testDiv .textContainer { float:left; width:240px; height:90px; overflow:hidden } 
+0

I tuoi codici non sono indicati come ho risposto, quindi non ho scritto sulla tua strada ... –

+0

Nessun problema, funziona perfettamente :) – John

0

Penso che è necessario quanto segue:

HTML:

<div class="wrap"> 
    <img src="img.jpg" class='left;' /> 
    <h1 class='right'>TITLE</h1> 
    <div class='right'>Element description</div> 
</div> 

CSS:

.wrap { width: 600px; /* Just a sample value */ } 
.left { width: 200px; float: left; } 
.right { margin-left: 220px; width: 380px;} 

Questo dovrebbe fare il trucco. Regola i parametri di larghezza e margine in base alle tue esigenze.

1

bene si può provare il modo classico con tavoli anche se non è raccomandato l'uso di tabelle per il layout

<table> 
    <tr> 
    <th><img src="yourimage" /> </th> 
    <th >adsasd<br/>adas</th> 
    </tr> 
</table> 
+0

Voglio realizzarlo senza usare tabelle, grazie comunque :) – John

+2

Si prega di non utilizzare tavoli da stile. – Dementic

3

Ciao perché ero abituato a fl avena sinistra si può fare questo senza utilizzata float come come questo

<div class="res"> 
<img src="<?php echo 'img/'.$row["sType"].'.png';?>"/> 
<div class="text"><h5>TITLEe</h5> 
    <p>Description</p></div> 
</div> 

Css

.res { 
    height:60px; 
    background-color:yellow; 
    border-bottom:1px solid black; 
} 
img, .text{ 
vertical-align:top; 
} 
.text{ 
display:inline-block; 
} 
p, h5{ 
margin:0; 
    padding:0; 
} 

Live demo

e cambiare per css, classe secondo il vostro disegno

Problemi correlati