HTML Anfängerprobleme beim Homepage bauen.

Rockcrusher

Lt. Junior Grade
Registriert
Aug. 2019
Beiträge
260
Hallo, ich versuche mir grad selbst eine Homepage zu bauen. (Bin Anfänger will es aber unbedingt lernen) Ich selbst Fotografier sehr gerne und will mir eine Fotoseite erstellen. (nutze ganz primitiv den Windows Texteditor)
Hab mir jetzt einen einfachen Rahmen gebaut. html Seite und style.css separate Dateien. So weit so gut. Code sieht dann in etwa so aus. (<head> lass ich beim erklären mal weg.)

<div class="rahmen">
<div class="gal"> <img src="img/bild1.jpg"></div>
</div>

In der CSS hab ich dann die Parameter von "rahmen" fixiert:

.rahmen {
border: 1px;
border-color: #000000;
border-style: solid;
margin-left: auto;
margin-right: auto;
width: 1250px;
height: auto;
background-color: #ffffff;
}

Und die Bilder:
div.gal {
text-align: center;
background-color: #ffffff;
}

Die Bilder sind in 1200px Breite hinterlegt in einem Unterodner img/bild1.jpg

Das Problem ist jetzt, am PC 4K Monitor sieht alles super toll aus, wenn ich es aber am Smartphone oder ipad öffne muss ich Links und Rechts scrollen und es öffnet halt nicht in Vollbild sondern eingezoomt.
Ich kann jetzt natürlich den width: Befehl deutlich kleiner machen zb 600px. Dann muss ich die Bilder verkleinern und am 4k Monitor muss ich die Bilder mit der Lupe suchen. Ich hätte sie schon gerne mit 1200px Seitenlänge und zwischen Rahmen und Bild soll auch noch ein bisschen platz sein.
Ich hab dann ein bisschen gesucht und den <meta name="viewport" content="width=device-width"> Befehl für die .html Datei gefunden, der scheint das Problem nicht zu lösen. Vielleicht steh ich als Anfänger aber nur irgendwo am Schlauch. Kennt sich wer damit aus?
 
Bitte Benutze die Code Tags um Code zu formatieren:
CSS:
.rahmen {
    border: 1px;
    border-color: #000000;
    border-style: solid;
    margin-left: auto;
    margin-right: auto;
    width: 1250px;
    height: auto;
    background-color: #ffffff;
}

Das ist einfach lesbarer als das was du hier geschrieben hast.

Das was du suchst nennt sich "Repsonive Design" gutes tutorial dazu findest du z.b. hier: https://www.w3schools.com/Css/css3_mediaqueries_ex.asp

Mit Media Queries kannst du für einzelne Elemente im CSS unterschiedliche Werte je nach Bildschirm-Breite (und/oder anderen Faktoren) definieren.
 
  • Gefällt mir
Reaktionen: Der Lord
Danke! Das gehe ich jetzt durch! Sorry wusste nicht das es hier Code Tags gibt.
 
  • Gefällt mir
Reaktionen: TheChange
Ich würde auch empfehlen da nicht mit dem Windows Editor zu arbeiten. Selbst einfachste Code-Editoren bieten da schon deutliche Vorzüge. Ich empfehle da immer Visual Studio Code, manch anderer Notepad++.
Aber der Standard-Editor sollte es nicht sein, damit machst du dir das Leben nur unnötig schwer.
 
  • Gefällt mir
Reaktionen: TheChange und Der Lord
Ok werde ich mir ansehen danke! Versuche grad die Bilder zu verkleinern für Mobile Geräte.
 
Hi, sieh dir bitte auch den viewport metatag an, sonst stimmen die Pixel im CSS, zb bei den media-queries, nicht mit den erwarteten Größen auf High-Pixel-Density Geräten überein.

Ich persönlich schreibe immer das mobile CSS in den allgemeinen Teil und dann CSS für größere Größen in die media-queries. Diese Strategie nenne ich "mobile-first-css" wodurch es um einiges schlanker bleibt als andersrum.

ansonsten hilft es die bilder auf display:block; statt dem default wert "inline-block" zu setzen und das Bildformat so zu erhalten für mobile:

CSS:
.rahmen img{
  display:block;
  max-width:100%;
  height:auto;
}
 
Danke werde ich versuchen, hab grad rausgefunden das man in Chrome die Handyansicht Simulieren kann. Ist auch recht Hilfreich!
 
Hab mit der immer Probleme, aber mit der Handyansicht vom Firefox gute Erfahrung (Strg+Shift+M)
 
Ich versuche grad eine Navbar zu bauen nach dieser Anleitung. Nur meine Seite ist Zentriert.

https://www.w3schools.com/Css/tryit.asp?filename=trycss_website_layout_navbar
Ich habe auf meiner Seite HTML und CSS in 2 getrennten Dateien. Darum sieht es etwas anders aus.
Der Nav Bar Orientiert sich an der Linken Seite vom Bildrand. In der CSS ist ein Befehl float: left; Wenn ich hier right rein schreibe hüpft alles an den Rechten Bildrand. Aber wenn ich Center schreibe hüpft es nicht in die Mitte. Es scheint so als ob der Befehl dann komplett aufgehoben wird und der Text erscheint übereinander in der Mitte vom Bild.
Vielleicht hab ich die Grundlagen noch nicht verstanden.
 
Die Verwendung von Floats ist ein Mißbrauch einer Funktion die dazu nicht gedacht war. Floats sind gleichbedeutend mit dem "Bildumlauf" in Textverarbeitungsprogrammen. Es bedeutet, das nachfolgender Inhalt links oder rechts des Inhalts "umläuft" - daher gibts kein Center. - Früher (CSS2.1) gabs halt nix anderes xD

Sieh dir erstens: Semantische Gestaltung von Navigationen an und zweitens: als Alternative zu Floats: https://css-tricks.com/snippets/css/a-guide-to-flexbox/ Flexbox
 
  • Gefällt mir
Reaktionen: kim88
Danke! Eine Sache hab ich noch dann bin ich Fertig. Die ihr seid eine große Hilfe für einen blutigen Anfänger.

Ich habe auf meiner Seite einige Links zum anklicken. Also zb "Impressum" oder "Galerie"
Ich habe das ganze jetzt verschönert in dem ich in der style.css die verschiedenen codes hinzugefügt habe.

Habe dann einen eigenen Absatz für a:hover gemacht, also wenn man mit der Maus drüber geht passiert irgendetwas zb Text ändert die Farbe. Bekommt ein Leuchthalo oder ähnliches.
Mit dem Befehl transition-delay: 1s; kann ich einstellen ob es sofort losgeht oder erst nach einer gewissen Zeit startet. Ich hätte aber gerne der Gegenteil also eine kurze Nachlaufzeit. Also wenn ich mit der Maus runter gehe das es nicht sofort verschwindet. Gibt es dafür einen Befehl? Wühle mich grad bei w3schools durch und finde den Befehl nicht.
 
Zurück
Oben