Mehrere divs im einem gesamt-div und ein floating Problem

Hallo @ all,

ich habe folgendes Problem:

http://www.tassilo.sturm.serverma.de/fotos/sonstige/seiten_demo_float.jpg

Ich möchte das rot eingekästelte div (worin sich die orange gekästelten
(unter)-divs befinden neben dem blau eingekästelten div anordnen

Ich weiss, das die breite des rot-eingekästelten div zusammen mit dem blau eingekästelten div BREITER als der viewport ist.
Das soll auch so sein, ich möchte ein horizontal scrollbare Webseite.

Leider muss ich die orange eingekästelten (unter)-divs in einem zusammenhängenden (hier rot) zusammenfassen, da ich später mit anker zu dem entsprechenden (unter)-div springen möchte!
Dabei wird der Inhalt der gelb umrandeten divs später noch breiter, hier zur Anschauung hab ich die mal nicht so breit gemacht!

[url=http://www.tassilo.sturm.serverma.de/test_index2.html]Waldfrieden – Tassilo Sturm[/URL]

Ich habe alles ausprobiert: display-inline-block hier, position: ablosute;
dort, in allen erdenklichen variationen!

Wer kann mir dabei bitte Helfen?

Ich bin am verzweifeln!

Grüsse der einsiedelnde

Hallo,

du packst den blauen und den roten Container in einen gemeinsamen, noch einzufügenden, Container. Diesem neuen Container gibst du dann die gewünschte Breite.

Das könnte dann zum Beispiel so ausschauen:

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="utf-8"><!-- Schließende Slashes sind unter HTML5 nicht erforderlich, aber erlaubt -->
  <title>Layout 01</title>
  <meta name="description" content="HTML5, CSS3">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- Um alte IE HTML5-tauglich zu machen -->
  <!--[if lt IE 9]>
  <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
  <!-- Internes CSS ("type="text/css" ist unter HTML5 nicht erforderlich) -->
  <style>
  /* Clearfix - für Float, falls erforderlich */
  @media all {
  main:before,
  main:after,
  .clearfix:before,
  .clearfix:after {
  content: "";
  display: table;
  }
  main:after,
  .clearfix:after {
  clear: both;
  }
  }
  @media all {
  /* Neue HTML5-Elemente für ältere Browser als Block-Elemente übergeben */
  header, nav, main, aside, footer, section, article, figure, figcaption, audio, video {
  display: block;
  }
  * {
  box-sizing: border-box;
  }
  html {
  font-size: 120%;
  }
  body {
  padding: 0;
  }
  body>* {
  padding: 0.5rem;
  border: 3px solid silver;
  }
  main {
  width: 2000px;
  padding: 0;
  }
  main>* {
  border: 3px solid yellow;
  }
  main>:nth-child(1) {
  width: 20%;
  float: left;
  }
  main>:nth-child(2) {
  width: 80%;
  float: left;
  }
  main>:nth-child(2)>:nth-child(1n) {
  float: left;
  border: 3px solid orange;
  }
  main>:nth-child(2)>:nth-child(1) {
  width: 25%;
  }
  main>:nth-child(2)>:nth-child(1n+2) {
  width: 15%;
  }
  </style>
</head>
<body>
  <header>
  <h1>Waldfrieden  --  Tassilo Sturm </h1>
  <h2>Rauminstallationen </h2>
  </header>
  <main>
  <div id="sidebar_linkscontent">
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et e</p>
  </div>
  <div class="main_contentframe">
  <div id="main_content">
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et e</p>
  </div>
  <div id="other_content">
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et e</p>
  </div>
  <div id="another_content">
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et e</p>
  </div>
  <div id="more_content">
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et e</p>
  </div>
  <div id="muchmore_content">
  <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et e</p>
  </div>
  </div>  
  </main>
  <footer class="contentinfo">
  <nav class="footermenue">
  <ul>
  <li><a href="#">HOME</a></li>
  <li><a href="#">WORKS</a></li>
  <li><a href="#">TEXT</a></li>
  <li><a href="#">CV</a></li>
  <li><a href="#">KONTAKT & IMPRESSUM</a></li>
  </ul>
  </nav>
  </footer>
</body>
</html>

Gruss

MrMurphy

hey MrMurphy, habe es mal so gemacht,

siehe : http://www.tassilo.sturm.serverma.de/test_index2.html

trotzalledem bleibt ro da wo er will!!! :frowning:

Hallo

Uralter Grundsatz: Wer floatet MUSS auch clearen.

Gruss

MrMurphy

wo, und / oder wonach muss ich clearen?

Hallo,

auf jeden Fall den Wrapper, indem du dem CSS folgendes hinzufügst

.clearfix:before, .clearfix:after { content: ""; display: table; } .clearfix:after { clear: both; }

und dem Wrapper die Klasse „clearfix“ zuweist.

Zusätzlich musst du aber noch die Breite des „main_contentframe“ so eingrenzen, das er neben das „sidebar_linkscontent“ passt. Da das „sidebar_linkscontent“ eine Breite von 20% + margin + border hat also zum Beispiel 75%.

Gruss

MrMurphy

Funktioniert nicht:

sieht wrapper also so aus

#wrapper {
width:3000px;
float:left;
border: 3px dotted black;

.clearfix:before,
.clearfix:after {
content: „“;
display: table;
}
.clearfix:after {
clear: both;
}

 }

und „main_contentframe“ hab ich 74%

aber es tut sich nix!

Hallo,

nicht so

[CODE]#wrapper {
width:3000px;
float:left;
border: 3px dotted black;

.clearfix:before,
.clearfix:after {
content: „“;
display: table;
}
.clearfix:after {
clear: both;
}

}[/CODE]

sondern so

[CODE]#wrapper {
width:3000px;
float:left;
border: 3px dotted black;
}

.clearfix:before,
.clearfix:after {
content: „“;
display: table;
}
.clearfix:after {
clear: both;
}
[/CODE]

In deiner CSS-Datei zur verlinkten „text_index2.html“ ist als Breite für „.main_contentframe“ aktuell 30% vorgegeben.

Allerdings fehlt das abschließende Semikolon für die Angabe. Wenn das bei den 74% auch gefehlt hat funktioniert die Seite nicht.

Gruss

MrMurphy

Hi MrMurphy,

DANKE dir ersteinmal! Auf jeden Fall funzt es! Doch da gibt es noch ein Paar Probleme!
Am liebsten würde ich sämtliche Angaben in % machen, wenn man im FF den Viewport um 300%
vergrössert, dann werden (die noch Textzeilen) unendlich lang und das ganze ist ja ganz und gar
kein responsive design (falls man es überhaut so mit horizontalem scrollen hinbekommt!)
Ich wollte auch mit Ankern Arbeiten, die zur entsprechenden Stelle hinscrollen, auf jeden Fall
möchte ich kein java-script!
So, dann muss ich mal ran, villeicht hilft es entsprechende min-width`s zu setzen…
Ich habe da ein Paar schöne Webseiten gesehen mit horizontalem Design obwohl dies nicht für alle
Themen geeignet ist/scheint, bei mir, würde es sich schon lohnen, da es eine künstlerische Seite wird,
mit Fotos Texten usw.

Ersteinmal DANKE!!!

Gruss T.

Alles gut… soweit habe ich es…

siehe: Waldfrieden – Tassilo Sturm

Nur sind momentan alle Angaben in px das möchte ich ändern, so das alle Angaben
in % sind!
Falls dies überhaupt möglich ist!!!

Da ergeben sich mir ein Paar Fragen:

Es ist nicht so einfach, width für das blaue div sowie die einzelnen gelben divs im
einfassenden roten div in % umzusetzen…
Ich meine damit:
Entweder: ich behalte die Angabe für den „wrapper“ in px (hier 10800 irgendwas px…)
also alle divs nebeneinander sind irsinnig breit…
und die div`s ( blau rot sowie die unterdivs in gelb) geb ich in % an…
dann bedeutet das, das sich beispielsweise beim blauen div die 15% auf die 10800
irgendwas px beziehen… sehe ich das richtig?
und so muss ich dann weitermachen: das rote div 5 stck. * 15% / das einzelne gelbe
15%…
trotzalledem funktioniert das nicht, warum sehe ich das falsch?

Achso oder ich mach die Angabe der „wrapper“ auch in %, klaro das müssten dann
ja mehr als 100% sein…
Auch wenn ich das mache, funktioniert das nicht, warum?

Igendwas bezieht sich immer auf irgendwas, aber es ist nicht klar ersichtlich worauf?

Ich habe da keinen Überblick mehr!

Wer kann mir da weiterhelfen und einen klaren Blick verschaffen!

seufZende grüsse