zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden flex-box verhindern von "zeilenumbruch"

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 25.04.2014, 14:17
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 25.04.2014
Beiträge: 2
dafrk befindet sich auf einem aufstrebenden Ast
Standard flex-box verhindern von "zeilenumbruch"

hallo,

ich arbeite mich gerade ein wenig in display:flex ein. Ich habe einige Basiserfahrung im Umgang mit HTML5/CSS3, bin aber noch lange kein Profi. Bis vor einiger Zeit habe ich ausschließlich float-Designs genutzt weil ich es nicht besser wusste. Irgendwann habe ich dann display:block-inline entdeckt und damit das float ins Jenseits geschickt, und jetzt bin ich auf die noch modernere Variante über flex gestoßen.

WAs ich aber noch nicht hinbekommen habe ist, dass die elemente, die ich aneinanderreihen möchte, automatisch ihre Breite anpassen, anstatt eine fixe Breite einzunehmen und eine neue Zeile zu eröffnen, wenn sie insgesamt zu breit für das Elternelement sind.

Hier habe ich eine Seite mit einer linken Navigation und einem Contentelement. Das contentelement ist voller Lorem Impsum und das Contentelement will daher 100% der Breite (wie beim body) einnehmen und fügt sich daher unter der linken Navigationsleiste ein. Wie bekomme ich hin, dass sich das Contentelement selber anpasst und ich dabei nur der Navigation eine feste breite geben muss, falls das möglich ist?

Das Design soll später responsiv werden, deswegen möchte ich so wenig feste breitenangaben wie nur irgend möglich haben.

Hier mein Code an den relevanten Stellen:
HTML-Code:
<div id="nav_and_content">
				<div id="nav_left">
					<aside id="search">
						<form action="#" method="post">
							....
						</form>
					</aside>
				</div>
<div id="content">
Lorem Ipsum...
</div>
</div>
hier das relevante CSS:

Code:
/*Seitenaufbau*/
html, body {
height: 100%; /*sorgt dafür, dass die Inhaltsbereiche immer so hoch sind wie das Browserfenster*/
/*ermöglicht die volle ausnutzung der Höhe mittels flex-box*/
}

body {
	width: 980px;
	margin: 0 auto;
}

[.... code dazwischen.... ]

/*Content und Seitennavigation*/

		#nav_and_content {
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
			width: 100%;
		}
		/*die linke Navigationsleiste*/
		#nav_left {
			width: 200px;
			
		}

Geändert von dafrk (25.04.2014 um 14:21 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 25.04.2014, 16:45
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 10.01.2010
Beiträge: 1.123
MrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer Mensch
Standard

Hallo,

Zitat:
Hier mein Code an den relevanten Stellen:
Leider nicht. Das ist eher eine Veralberung. Wenn damit eine Seite erstellt wird kommt das heraus:

HTML5 - dafrk: Flexbox

Zitat:
Das Design soll später responsiv werden, deswegen möchte ich so wenig feste breitenangaben wie nur irgend möglich haben.
Und warum gibst du dann body und nav_left feste Breiten in Pixel? Das passt doch nicht zum Responsive Design.

Außerdem sollte man die unnötigen divs weglassen. Eine Lösung mit Responsive Design und Flexbox könnte folgendermaßen aussehen:

HTML5 - dafrk: Flexbox

Da gibt es nur die notwendigen, HTML5-konformen, Elemente. Wenn die Navi-Spalte zu schmal wird und / oder der Zoom erhöht wird werden das nav- und das main-Element untereinander dargestellt.

Die Abstände können natürlich noch angepasst werden, das ist ja nur noch etwas Standard-CSS.

Gruss

MrMurphy

Geändert von MrMurphy (25.04.2014 um 19:55 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 26.04.2014, 11:15
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 25.04.2014
Beiträge: 2
dafrk befindet sich auf einem aufstrebenden Ast
Standard

hallo, danke schonmal bis hierher.

Ich möchte jetzt mit Flexbox Bilder verkleinern - mit der shrink-property kann ich sie aber nur entlang der main axis verkleinern. Wie verkleinere ich das Kind-Element gleichzeitig über die cross axis? Muss doch eine einfachere Lösung geben, als das ganze nochmal zu verschachteln und dann die elternelemente in column statt row zu setzen?

MfG
Mit Zitat antworten
  #4 (permalink)  
Alt 26.04.2014, 11:58
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 10.01.2010
Beiträge: 1.123
MrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer MenschMrMurphy ist ein sehr geschätzer Mensch
Standard

Hallo

Zitat:
shrink-property
Zitat:
main axis
Zitat:
cross axis
Zitat:
nochmal zu verschachteln
Zitat:
die elternelemente in column statt row zu setzen
Nix verstehn.

Wenn Bilder sich flexibel dem umgebenden Element anpassen sollen wird das bei HTML / CSS mit der "max-width"-Anweisung erledigt. Das funktioniert natürlich auch innerhalb einer Flexbox.

Du solltest nicht dem Fehler unterliegen, das vom Float über display: inline zu Flexbox eine Entwicklung stattgefunden hat und Flexbox die beiden anderen Möglichkeiten ersetzt. Das sind drei unterschiedliche Methoden, die aktuell und für ihren jeweiligen Einsatzzweck am Besten geeignet sind. Jetzt "alles" mit Flexbox lösen zu wollen wäre falsch.

Nachfolgend mal zwei Beispiele, die ich für andere Fragen ohne Flexbox erstellt habe, dafür aber mit Responsive Design. Die Darstellung passt sich also der Fensterbreite an. Im ersten Beispiel nur teilweise, aber das ist beabsichtigt und steht entsprechend im Text:

HTML5 - Vier Bilder anordnen

und

HTML5 - AzRaIL Bilder

Wie schon geschrieben funktioniert das ganze auch innerhalb von Flexboxen.

Gruss

MrMurphy

Geändert von MrMurphy (26.04.2014 um 12:05 Uhr)
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ich habe totale Schwerigkeiten mit Absolute und Relative Positionierung?!? damonster CSS 12 27.08.2008 15:56
ps design (slices), php (dynamischer inhalt), css gestaltung schleepy CSS 19 02.06.2006 22:46
Kniffliges Layout mit float Roadrunnerle CSS 6 14.03.2006 11:26
#boxes a:hover.info: 2.posting mit css !!! marioN CSS 5 25.01.2004 17:04
#box a:hover .info: css-layout: ie6.0/win, moz.1ie5.0/mac, marioN CSS 2 19.01.2004 17:17


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:59 Uhr.