2010-10-01 10 views
7

Ich habe ein Img-Element neben einem div. Ich habe ein paar verschiedene Ansätze ausprobiert, um den Zeilenumbruch zu entfernen, der zwischen den beiden auftritt, aber keinen Erfolg hatte. Jede Eingabe würde sehr geschätzt werden!Entfernen Sie einen Zeilenumbruch nach IMG

CSS

#newsMainBody 
{ 
margin-right: auto; 
margin-left: auto; 
background:#61bc49; 
width: 750px; 
height: 900px; 
font-family:"sans-serif"; 
text-align:left; 
-moz-border-radius: 10px;/*mozilla*/ 
z-index: 1; 
white-space: nowrap; 
} 

#starOfMonth 
{ 
background: #ffff99; 
width: 275px; 
height: 300px; 
text-align: center; 
font-family:"sans-serif"; 
white-space: normal; 
} 

HTML

<div id="newsMainBody"> 
    <img src="img/farm.jpg" alt="Farm photo" /> 
    <div id="starOfMonth"> 
     <br /> 
     <font style="font-weight:bold;font-size:medium; color:Purple;">DooLittle Farms Childcare</font><br /> 
     <font style="font-size:small;">"We're Growing Great Kids"</font><br /> 
     <img id="starImg" src="img/gold-star.jpg" alt="Star of the Week" width="200" height="200"/><br /> 
     Our Star Of The Week! 
    </div> 
</div> 
+0

Welche beiden Elemente sind Sie? Das Bild bezieht und? – Ruel

+0

Das img und das div id = # starOfMonth elem. Wenn ich in irgendeinem Browser vorschaue, ist das div-Element direkt unter dem Img-Element –

Antwort

5

Anzahl:.


#newsMainBody img { 
float: left; 
} 

#startOfMonth { 
float: right; 
} 
 

und entfernen Sie die erste <br /> nach <div id="starOfMonth">, es ist nutzlos (Verwendung padding-top in CSS statt, wenn Sie etwas Platz benötigen)

+0

Das machte den Trick mit einigen kleineren Anpassungen, wie das Hinzufügen einiger Ränder links und rechts, um die Elemente richtig zu platzieren –

+0

Außerdem habe ich es nicht mit dem neuen MainBody-Element gemacht, weil das den gesamten Körper nach links treiben würde, während ich es zentriert haben wollte. Also habe ich das img einfach in ein neues div-Tag eingepackt und das stattdessen geschwommen. Danke allen für ihren Beitrag! –

1

Versuchen Sie, das Bild und die div float: left; Sie WILL müssen eine Breite für jeden zur Verfügung stellen, damit dies funktioniert.

#starOfMonth 
{ 
background: #ffff99; 
float: left; 
width: 275px; 
height: 300px; 
text-align: center; 
font-family:"sans-serif"; 
white-space: normal; 
} 

#starOfMonthImage { 
height:275px; /*Optional, but it's a good idea to supply height for images so that the browser doesn't shift things around during the loading process*/ 
width:475px; /*OR SOMETHING! Make it narrower if it isn't working, I haven't been super careful about reading your padding in depth so this may be wrong.*/ 
float:left; 
} 

Dann können Sie schreiben:

<div id="newsMainBody"> 
    <img src="img/farm.jpg" alt="Farm photo" id="starOfMonthImage" /> 
    <div id="starOfMonth"> 
     <br /> 
     <font style="font-weight:bold;font-size:medium; color:Purple;">DooLittle Farms Childcare</font><br /> 
     <font style="font-size:small;">"We're Growing Great Kids"</font><br /> 
     <img id="starImg" src="img/gold-star.jpg" alt="Star of the Week" width="200" height="200"/><br /> 
     Our Star Of The Week! 
    </div> 
</div> 
+0

Dies war die erste richtige Lösung geschrieben. :/ – M2tM

0

Unter der Annahme, Sie mit dem Alt-Text von Farm photo auf den einen Bezug:

div#newsMainBody > img { 
/*  display: block; commented out as per @M2tM's comment, below */ 
    float: left; 
    width: 200px; 
} 
#starOfMonth { 
    margin-left: 200px; /* or 'width of floated image' + 'a margin of 10px' 
}      /* or whatever, just so they're not physically touching */ 

dies erreichen sollte, aber ich bin mir nicht sicher, warum du eine schwimmende <br /> innerhalb der #starOfMonth div. hast. Das könnte ein Problem sein.

Live-Demo, over at jsbin (natürlich die image s nicht geladen (bei der src nicht auf etwas zeigen, aber es sollte Ihnen ein Gefühl geben für das, was mein Ansatz der Fall ist)

+0

Das ist nur, um den Text für eine bessere Formatierung eine Zeile nach unten zu bringen. Ich werde dies versuchen –

+0

Erstens: Sie müssen eine Breite angeben, oder es wird nicht richtig schwimmen. Zweitens: Die schwebende
innerhalb der div wird nicht beeinflussen, wie es neben dem Bild auslegt, es wird eine Pause innerhalb der div hinzufügen. Drittens: Anzeige: Block; ist unnötig als float: links; wird dies überschreiben. In der Tat erfordert IE6 manchmal Anzeige: Inline; mit einem Rand auf Floating-Elemente angewendet werden, um den IE-Float-Bug zu beheben. – M2tM

+0

Siehe meine Antwort für eine korrektere Lösung. – M2tM

Verwandte Themen