2012-03-31 8 views
-1

Das ist, was ich habe:HTML/CSS - Wie zwei HTML-Elemente auf die Breite des Bildschirms zu strecken?

http://i.imgur.com/x3IzQ.png

Das Screenshot so breit wie das LCD-Display ist. Wie Sie sehen können, bleibt das Bild an der linken Seite des Bildschirms hängen, und der Bereich Level Informationen ist auf der rechten Seite des Bildes stecken. Das ist, was ich will. Allerdings würde ich auch gerne für den Rahmen um die Ebene Informationen Abschnitt den ganzen Weg bis zum rechten Rand des Bildschirms zu verlängern, wie dieser Mock-up ich in MSPaint gemacht:

http://i.imgur.com/qmbwF.png

Hier ist der Code für diesen Teil der Seite:

<div class="levelinfo" style="margin: 10px;"> 
    <span style="display: inline; float: left; margin-right: 10px; "> 
     <img src="levels/googoogjoob - By Request Only v1.1.screen.png" alt="Screenshot"> 
    </span> 
    <span style="display: inline-block; float: left; height: 240px;"> 
     <fieldset style="margin: 0px; padding: 0px; height: 239px;"> 
      <legend>Level information</legend> 
      <ul style="list-style-type: none; padding: 0px; margin: 5px;"> 
       [snip] 
      </ul> 
     </fieldset> 
    </span> 
</div> 

teil~~POS=TRUNC: Wie Sie sehen, ich bin ein fieldset mit, dass ziemlich wenig Rand um die Liste zu erstellen. Die Verwendung eines Fieldsets für rein kosmetische Zwecke erscheint jedoch nicht sehr "semantisch". Gibt es eine Methode, um diesen Effekt mit CSS oder zumindest einem anderen, vorzuziehenden HTML-Tag zu erzielen? Oder denken Sie, dass die Verwendung eines Fieldsets in Ordnung ist?

Antwort

0

Ich würde normalerweise nur er in einem div wieder oder einen Tisch und tue width = 100% und das funktioniert überall dank

0

Dies sollte einfach sein. Nimm deinen ganzen Inhalt und wickle ihn in ein anderes div namens "Wrapper" oder so ähnlich. Geben Sie diesem div eine Breite von 100% und geben Sie diesem div eine Grenze von was auch immer Sie wollen.

zum Beispiel Ihre HTML wie folgt aus:

<div id="wrapper"> <!-- this is the div youll give the style to, to get the outline etc. --> 
    <div class="levelinfo" style="margin: 10px;"> 
    <span style="display: inline; float: left; margin-right: 10px; "> 
     <img src="levels/googoogjoob - By Request Only v1.1.screen.png" alt="Screenshot"> 
    </span> 
    <span style="display: inline-block; float: left; height: 240px;"> 
     <fieldset style="margin: 0px; padding: 0px; height: 239px;"> 
      <legend>Level information</legend> 
      <ul style="list-style-type: none; padding: 0px; margin: 5px;"> 
       [snip] 
      </ul> 
     </fieldset> 
    </span> 
</div> 
</div> 

css:

#wrapper{ 
width:100%; 
border: thin #ccc solid; 
} 

und das sollte es sein. Wenn Sie Ihre Seite neu laden, sollten Sie Ihren bereits erstellten Inhalt um die Grenze gewickelt sehen.

Hoffe es hilft dir.

+0

Aber es ist schon alles in einem div, das mit der Klasse "leveinfo" und der 10px Marge. Ich bin mir nicht sicher, ob du den Code richtig liest - das div mit Klasse "leveinfo" geht um alles herum, was du auf dem Screenshot siehst (oder zumindest sollte - wenn ich es mit den Chrome-Entwicklertools betrachte, hat es seine Größe aus irgendeinem Grund auf 0 gesetzt, aber das ist eine andere Frage). Der erste Bereich enthält das Bild REQUEST KEN, und der zweite Bereich enthält die Liste mit Dateigröße usw. (Ich versuchte Ihre Methode nur für den Fall, aber es hat übrigens nicht funktioniert) –

+0

Ja, ich habe das nicht gesehen Wie auch immer, nimm das gleiche Beispiel, das ich bei meinem "Wrapper" div benutzt habe und lege es auf "leveinfo" div ... da hast du dein CSS inline (ich vermute wegen des "style" neben dem div) dann addiere mein CSS dort neben "margin" ... also wäre es so etwas wie:

Your content here
etc. Wie für die Höhe. Wenn Sie keine Höhe/Breite hinzufügen, nimmt die übergeordnete Breite automatisch die Breite/Höhe von dem, was darin ist. – somdow

Verwandte Themen