Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Pixel und Prozent in DIV-Layout kombinieren

Frage Entwicklung CSS

Mitglied: DennisStuggi

DennisStuggi (Level 1) - Jetzt verbinden

22.12.2010 um 10:15 Uhr, 7194 Aufrufe, 6 Kommentare

Hallo zusammen,

es geht um folgendes Problem:
Ich habe ein Layout, bestehend aus 3 div Elementen, die nebeneinander angeordnet sind. (Siehe angehängtes Bild)
Das linke (schwarz) und das rechte (grün) div Element haben eine feste Breite in px, was wegen Grafiken notwendig ist.
Das mittlere (rot) div soll den Platz so ausfüllen, dass der gesamte Bildschirm eingenommen wird.

d41952add603cdf140071d0bfe9da95a - Klicke auf das Bild, um es zu vergrößern

Weise ich dem roten div keine Breite zu, füllt es nur den Platz, der vom Text darin benötigt wird.
Eine Pixel oder Prozent Breite kann ich aber auch nicht geben, da die benutzer ja unterschiedliche Auflösungen haben.
Weise ich zb. die Breite 70% zu, sieht auf einem 1280x1024 Monitor alles gut aus, auf einem 1024x768 Monitor jedoch steht das rechte div dann unter dem Inhalt.

Kann mir jemand helfen, wie ich es hinbekomme, dass das schwarze und das grüne div Element eine feste Pixel-Breite haben und das rote div den restlichen Platz des Bildschirms ausfüllt?

Vielen Dank schon jetzt für alle antworten.



Der Html-Code:
01.
  
02.
<div id="container"> 
03.
<div id="nav-left"> 
04.
</div> 
05.
<div id="content"> 
06.
</div> 
07.
<div id="nav-right"> 
08.
</div> 
09.
</div>
Der CSS-Code:
01.
  
02.
#container { 
03.
width:100%; 
04.
05.
 
06.
#nav-left { 
07.
width:120px; 
08.
padding-left:30px; 
09.
float:left; 
10.
background-image:url(nav_left.jpg); 
11.
12.
 
13.
#content { 
14.
float:left; 
15.
16.
 
17.
# nav-right { 
18.
float:right; 
19.
width:280px; 
20.
background-image:url(nav-right.jpg); 
21.
}
Mitglied: KennyNet
22.12.2010 um 12:02 Uhr
Hallo DennisBauer,

schon mal probiert das einfach per width:auto umzusetzen ?
Oder falls eine gewisse Mindestbreite des Content eingehalten werden soll per min-width: ... px ?


Gruß...
Bitte warten ..
Mitglied: DennisStuggi
22.12.2010 um 12:57 Uhr
Hi KennyNet,

width:auto hat den gleichen Effekt, wie wenn ich es ganz weglasse:
Der Content nimmt nur die Breite ein, die von text usw. benötigt wird.

min-width ist eigentlich eher eine Notlösung, da ich es so flexibel wie möglich gestalten will.
Bitte warten ..
Mitglied: LennyLinux
23.12.2010 um 15:05 Uhr
Hallo DennisBauer,

ich würde dir hier empfehlen nur mit Prozentangaben zu arbeiten. Das wird dann auch wirklich vom Browser so aufgelöst und die Fehleranfälligkeit ist relativ gering.

Ich habe mal auf die Schnell deine 3 divs positioniert: Hier die CSS-Datei:

01.
 
02.
#contentContainer { 
03.
 
04.
    /* border: 5px solid gray; */ 
05.
    height: 99%; 
06.
    width: 99%; 
07.
    min-width: 1200px; 
08.
    margin: 0px 0px 0px 0px; 
09.
10.
 
11.
 
12.
#content { 
13.
 
14.
 
15.
    height: auto; 
16.
    width: 60%; 
17.
    background-color: yellowgreen; 
18.
    min-width: 50%; 
19.
    float: left; 
20.
    margin: 0px 0px 0px 15px; 
21.
    padding: 10px 5px 5px 15px; 
22.
 
23.
24.
 
25.
 
26.
 
27.
#navLeft { 
28.
 
29.
    height: 600px; 
30.
    width: 200px; 
31.
    border: 1px solid blue; 
32.
    float: left; 
33.
 
34.
 
35.
 
36.
 
37.
38.
 
39.
#infoRight { 
40.
 
41.
    height: 99%; 
42.
    width: 230px; 
43.
    /*border: 1px solid blue; */ 
44.
    float: right; 
45.
    border-left: 1px dashed #031839; 
46.
 
47.
 
48.
 
49.
50.
 
51.
 
In der HTML-Datei solltest du es dann so anordnen:

01.
<div id="contentContainer"> 
02.
    <div id="infoRight"></div> 
03.
     <div id="navLeft"></div> 
04.
     <div id="content></div> 
05.
</div> 
06.
 
Probier das einfach mal aus. Müsste klappen.

Grüße Tippexs
Bitte warten ..
Mitglied: DennisStuggi
23.12.2010 um 15:34 Uhr
Danke für deine Hilfe.
Das funktioniert aber auch nicht (so hatte ich es bereits)
Ist die Auflösung gering (z.B. Netbook), wird der rechte Container unterhalb des Inhalts dargestellt.
Bitte warten ..
Mitglied: LennyLinux
25.12.2010 um 10:52 Uhr
Mit was für einem Browser hast du es getestet??

Versuch mal folgende Zeile einzubauen. Bei mir funktioniert das Layout, wie du es möchtest ohne Probleme

01.
 
02.
<meta http-equiv="X-UA-Compatible" content="IE=7" /> 
03.
 
04.
 
Bitte warten ..
Mitglied: DennisStuggi
25.12.2010 um 17:01 Uhr
Internet Explorer 8 und Firefox 3.6

Werde es jetzt vorerst so machen, dass ich nur ein min-width beim content einfüge.
Und zwar so breit, dass die Webseite auf Netbooks richtig dargestellt wird.

Bei größeren Auflösungen füllt dann das content div halt nicht die gesamte Breite aus, sondern nur so viel, wie vom Text benötigt wird.


Wenn jemand noch Vorschläge hat, wie ich das besser lösen kann, immer her damit.
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Windows 10
Anmeldebildschirm Tastatur Layout Schweiz als Standard (2)

Frage von manuwj zum Thema Windows 10 ...

Hyper-V
Benötige Hilfe bei Hyper-V-Core 2016 div. Befehle gesucht (4)

Frage von Stefan007 zum Thema Hyper-V ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...