Anfängerfragen

06/26/2016 11:20 nafets404#1
Moin,

werde zukünftig immer mal wieder ein paar Fragen hier in die Runde werfen, da ich denke, dass es sich nicht lohnt für jede kleine Frage ein neues Thema zu öffnen.

PS: Ich bin gerade dabei HTML & CSS zu lernen, erwartet also nicht zu viel von mir. :p

Fangen wir gleich mal an.

1. Ich möchte der ganzen Seite eine content-breite von 1000px geben. Wie stelle ich das am besten an? Wenn ich im body einen div mit 100px erstelle, dann werden die bereits erstellten elemente (nav, div#content-1 etc.) auch auf 1000px abgeschnitte, die hintergrund-farbe dieser elemente soll allerdings über die volle breite laufen - nur der Inhalt, bei nav das <img> und <ul> sollten sich an der 100px breite anordnen.

2. Ich möchte das <img> im <nav> vertikal zentrieren, krieg ich aber irgendwie nicht hin. Habe es mit line-height 80px und vertical-align middle in nav versucht.

Vielen Dank für eure Hilfe. :handsdown:

HTML Code:
<!DOCTYPE html>
<html lang="de">
<head>
	<meta charset="utf-8">
	<link href="main.css" rel="stylesheet">
	<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700'
	rel='stylesheet' type='text/css'>
	<title>Nova²</title>
</head>
<body>

	<nav>
		<img src="img/logo.png" width="132px" height="60px" alt="logo">
		<ul>
			<li><a href="#">Home</a></li>
			<li><a href="#">About Us</a></li>
			<li><a href="#">Services</a></li>
			<li><a href="#">Portfolio</a></li>
			<li><a href="#">Pages</a></li>
			<li><a href="#">Blog</a></li>
			<li><a href="#">Contact</a></li>
		</ul>
	</nav>

	<div id="content-1">
		<p>test</p>
	</div>

	<div id="content-2">
		<p>test</p>
	</div>

	<div id="content-3">
		<p>test</p>
	</div>

</body>
</html>
Code:
@charset "utf-8";

* {
	margin: 0;
	padding: 0;
}

body {
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #333333;
}

nav {
	height: 80px;
	background-color: #ffffff;
}

nav ul {
	float: right;
}

nav ul li{
	display: inline-block;
	line-height: 80px;
	padding-left: 30px;
}

a:link {
	text-decoration: none;
	color: #333333;
}

nav ul li a:link {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 0.8em;
}

nav ul li a:visited {
	color: #333333;
}

nav ul li a:hover, a:active {
	color: #3498db;
}

#content-1 {
	height: 500px;
	background-color: #3498db;
}

#content-2 {
	height: 150px;
	background-color: #ffffff;
}

#content-3 {
	height: 550px;
	background-color: #252525;
}
06/26/2016 11:40 #Metho#2
Quote:
Originally Posted by nafets404 View Post
1. Ich möchte der ganzen Seite eine content-breite von 1000px geben. Wie stelle ich das am besten an? Wenn ich im body einen div mit 100px erstelle, dann werden die bereits erstellten elemente (nav, div#content-1 etc.) auch auf 1000px abgeschnitte, die hintergrund-farbe dieser elemente soll allerdings über die volle breite laufen - nur der Inhalt, bei nav das <img> und <ul> sollten sich an der 100px breite anordnen.
Dann muss die Navigation die volle Breite haben, besser du setzt eine Version in online, dann können wir diese ansehen, dann würde ich dir den gecodeten Part zeigen können, aber ist's ein bisschen verwirrend ^^

Quote:
Originally Posted by nafets404 View Post
2. Ich möchte das <img> im <nav> vertikal zentrieren, krieg ich aber irgendwie nicht hin. Habe es mit line-height 80px und vertical-align middle in nav versucht.
Du suchst

Code:
nav img {
	align-items: center;
}
06/30/2016 11:12 nafets404#3
Siehe Datei im Anhang.

1. ) Wie kann ich die Elemente vertikal zentrieren?

2. ) Beim Hover über die Nav ist zwischen den Roten Flächen und dem grauen Strich weißer Platz frei. Wie bekomme ich das weg?

3. ) Wir haben nen Content-Bereich von 1000px breit (Siehe Nav). Wie kann ich die Icons und das Logo ganz oben an dieser Breite ausrichten?

4. ) Was hätte man Code-mäßig besser machen können? Abgesehen davon, dass ich überall Pixel als Einheit verwendet habe. Bzw. ist das was ich geschrieben habe so korrekt?

Vielen Dank
06/30/2016 20:37 #Metho#4
Quote:
Originally Posted by nafets404 View Post
1. ) Wie kann ich die Elemente vertikal zentrieren?
[Only registered and activated users can see links. Click Here To Register...] findest du, was du suchst.

Quote:
Originally Posted by nafets404 View Post
2. ) Beim Hover über die Nav ist zwischen den Roten Flächen und dem grauen Strich weißer Platz frei. Wie bekomme ich das weg?
Die Elemente müssen gefloatet werden.

Code:
deinElement { display: inline-block; float: left; }
Quote:
Originally Posted by nafets404 View Post
3. ) Wir haben nen Content-Bereich von 1000px breit (Siehe Nav). Wie kann ich die Icons und das Logo ganz oben an dieser Breite ausrichten?
Sind sie doch oder verstehe ich dies falsch?

Quote:
Originally Posted by nafets404 View Post
4. ) Was hätte man Code-mäßig besser machen können? Abgesehen davon, dass ich überall Pixel als Einheit verwendet habe. Bzw. ist das was ich geschrieben habe so korrekt?
Du da gibt es viele Dinge, die ich dir nennen könnte, aber mal ein ganz einfacher Tipp: Hast du ein Element, das wirklich nur einmal vorkommen soll, nimm #id. Sofern du dies tust, verwende keine anderen Selektoren auf dem Element

Code:
#meinElement {} /* richtig */
div ul#meinElement.meineKlass {} /* falsch */
Bist du dir nun sicher, dass nur direkt darauffolgende Elemente hast, benutze >

Code:
#meineUL > li {} /* richtig */
#meineUL li {} /* falsch */
Benutze keine Ids auf eindeutigen Elementen, wie dem Body-Tag oder dem Main-Tag

Code:
body {} /* richtig */
body#meinRumpf {} /* falsch */
versuche zu vermeiden, dass allzuviel vereerbt wird.

Code:
ul > li { list-style: none } /* richtig */
ul { list-style: none } /* falsch */
Aber pauschal kann man das eigentlich nicht sagen, es kommt immer auf die Aufgabe drauf an, aber dies mal so als Tipp :)
06/30/2016 22:11 nafets404#5
Vielen Dank. Blöd dass vertikal zentrieren so kompliziert ist.

Schreibt man bei HTML Tags ohne closing tag, sprich img meta link etc. eigentlich einen slash, oder nicht? Steht überall anders.

<img .. />
<img .. >
06/30/2016 22:21 #Metho#6
Quote:
Originally Posted by nafets404 View Post
Vielen Dank. Blöd dass vertikal zentrieren so kompliziert ist.

Schreibt man bei HTML Tags ohne closing tag, sprich img meta link etc. eigentlich einen slash, oder nicht? Steht überall anders.

<img .. />
<img .. >
Dies ist die HTML5 Schreibweise:
Code:
<img .. >
oder alternativ (HTML5):
Code:
<img .. />
Und dies ist für ältere Versionen (HTML4 etc....)
Code:
<img .. />
bedeutet HTML5 unterstützt beide, weshalb ich dir anrate das /-Zeichen zu machen.

Im <!DOCTYPE html> für HTML5. Dies kommt an den Anfang deines Dokumentes. Klingt jetzt kompliziert, ist es aber garnicht

[Only registered and activated users can see links. Click Here To Register...] ein Link dazu