Webdesign in Siegen

Anordnung von Bildern [CSS]

Fragen zum Thema HTML und CSS können hier gestellt werden

Moderatoren: Basti, Ingo

Anordnung von Bildern [CSS]

Beitragvon Lukas am 03.11.2007, 18:03

Hi,
ich hätte da ein Problem...

Ich 22x22px große Icons die ich mit meiner ganzen Kreativität aus nem Iconset genommen hab.
Jetzt will ich die untereinander anordnen und daneben noch nen Textlink.
Das soll dann ein Menü ergeben.

So sieht's aus

Die roten Rahmen sind nur zur Übersicht wie groß die divs sind ;)

Hier noch der Code:

Code: Alles auswählen
<html>
<head>
<title>Polz-Vt.de</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="bg">
  <div class="banner">
   <img src="banner.jpg">
  </div>
  <div class="menu">
   <ul>
    <li><a href="index.htm"><img src="home.png">Home</a></li>
    <li><a href="index.htm"><img src="events.png">Events</a></li>
    <li><a href="index.htm"><img src="technik.png">Technik</a></li>
    <li><a href="index.htm"><img src="galerie.png">Galerie</a></li>
    <li><a href="index.htm"><img src="kontakt.png">Kontakt</a></li>
   </ul>
  </div>
</div>
</body>
</html>


Und die style.css:

Code: Alles auswählen
* {margin: 0; padding: 0;}

body {
background-color: #666666;
}

div.bg {
width: 740px;
height: 800px;
margin: auto;
padding: 0;
border: 1px dashed #FF0000;
background-image: url(background.jpg);
}

div.banner {
width: 650px;
height: 150px;
margin: 0 45px;
top: 10px;
position: absolute;
border: 1px dashed #FF0000;
}

div.menu {
width: 82px;
height: 110px;
border: 1px dashed #FF0000;
margin: 0 45px;
top: 170px;
position: absolute;
}

div.menu ul {
list-style: none none;
margin: 0;
padding: 0;
}

div.menu ul li {
margin: 0;
padding: 0;
}

div.menu ul li a {
width: 82px;
height: 22px;
margin: 0;
padding: 0;
text-decoration: none;
font: bold 18pt Arial;
color: #666666;
display: inline;
}

div.menu ul li a img {
width: 22px;
height: 22px;
margin: 0;
padding: 0;
border: none;
display: inline;
float: left;
}


Kann mir jemand helfen, den Text neben die Grafiken zu kriegen?
Und dann hab ich immer noch n blöden Abstand zwischen den Grafiken :x
"Wer sich Steine zurechtlegen kann, über die er später stolpert,
hat Erfolg in den Naturwissenschaften." - Erwin Chargaff
Bild
Benutzeravatar
Lukas
Mitglied
 
Beiträge: 2497
Registriert: 07.09.2005
Wohnort: Dachau (München)

Beitragvon Manuel am 03.11.2007, 18:08

Hi Lukas!

Kann es sein, dass der div-Layer für das Menü nicht breit genug ist und die Schrift daher in die nächste Zeile rutscht, obwohl du float left verwendest?

Eine alternative Möglichkeit wäre es übrigens, das Icon als Icon für die Aufzählung zu verwenden, wobei dieses dann natürlich nicht anklickbar wäre.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8775
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon Ingo am 03.11.2007, 19:59

Hoi - noch'ne Portion Senf dazu, abgesehen von den width-Angaben in div.menu
und div-menu ul li:

Du könntest in div.menu ul li noch clear:left setzen, damit bei kleiner Schrift
die List-Items nicht treppenartig nebeneinander zu liegen kommen.

Der Abstand zwischen den Icons richtet sich auch nach der Schriftgröße:
ist die Schrift klein genug, liegen alle Icons direkt aufeinander.

display:inline ist bei <a> und <img> nicht nötig, die sind von Natur aus inline.
Deswegen wirkt übrigens auch die height-Angabe in div.menu ul li a nicht. Damit
wiederum macht die height-Angabe für div.menu eher weniger Sinn - ich denke,
die kann man einfach weglassen; div.menu nimmt sich die Höhe, die es braucht.

Gruß - macping :)
Benutzeravatar
Ingo
Moderator
 
Beiträge: 578
Registriert: 01.04.2007
Wohnort: Neuss/NRW

Beitragvon Lukas am 03.11.2007, 20:13

Ok :)
ja mit div.menu wollte ich durch die Höhenbegrenzung die Icons zwingen den Abstand wegzulassen ^^
Der ist übrigens auch da, wenn keine Schrift daneben ist.

Ich setze eure Tipps gleich mal um, danke ;)

Ahja: Die Icons sollen nachher beim Hovern bissl rauszoomen,
das wird als Listen-icon nicht gehen oder?
"Wer sich Steine zurechtlegen kann, über die er später stolpert,
hat Erfolg in den Naturwissenschaften." - Erwin Chargaff
Bild
Benutzeravatar
Lukas
Mitglied
 
Beiträge: 2497
Registriert: 07.09.2005
Wohnort: Dachau (München)

Beitragvon Ingo am 03.11.2007, 20:42

Nachtrag:
Wenn ich eine DTD hinzufüge, verschwindet der Abstand zwischen den Icons :)
(Der IE arbeitet ohne gültige DTD im quirks mode - nix gut.) Es geht zum Beispiel
Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD xhtml 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.DTD">
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 578
Registriert: 01.04.2007
Wohnort: Neuss/NRW

Beitragvon fluuu am 04.11.2007, 15:08

Hallo,
um Grafik und Text auf eine Höhe zu bekommen würde ich im Dreamweaver so lange mit dem 'Ausrichten' der Grafik experimentieren bis es meinen Wünschen entspricht.
Auf meiner Site webarchitectura.de ist am Ende jeder Seite so eine verlinkte Grafik mit Text und align="absmiddle" hat funktioniert.

gruß fluuu
http://www.webarchitectura.de kreatives Webdesign
http://www.fluuu-bilder.de künstlerische Fotografie
Benutzeravatar
fluuu
Mitglied
 
Beiträge: 191
Registriert: 21.10.2007
Wohnort: Berlin-Allgäu

Beitragvon veNom am 05.11.2007, 10:45

Ich stimme fluuu zu.

Des weiteren ist mir aufgefallen, das im IE die Seite nicht wie im FF zentriert ist und im FF die Umrandung des Menü's nicht vergrößert wird, was wiederrum im IE geht. Für eine Firma ist es wichtig das die Seite Browser-unabhängig funktioniert, und kein Kunde, egal welchen Browser dieser benützt, keine Einschränkungen hat.

W3C Standards, sind daher sehr wichtig, auch wenn Sie hin und wieder nerven :wink:
All you get is all you need
Benutzeravatar
veNom
Mitglied
 
Beiträge: 1571
Registriert: 29.12.2005
Wohnort: Wien

Beitragvon Ingo am 05.11.2007, 12:59

Dass das div.bg im IE nicht zentriert dargestellt wird, liegt ebenfalls daran,
dass derzeit noch keine gültige DTD im Dok steht; mit DTD geht das wie gewünscht.

Um Icon und Text auf eine (mittlere) Höhe zu bekommen, könnte man in div.menu ul li a img
float:left weglassen und vertical-align:middle dazusetzen. float ist hier nicht nötig, weil <img>
kein Block-Element ist, dem man nachfolgende Elemente an die Seite 'zwingen' müsste.

PS: '...so lange experimentieren bis ...' - und das von jemandem, der den Gebrauch
von CMS (mithin nicht selbst durchdachten Lösungen) mit einem Naserümpfen
quittiert - wie passt denn das? :lol:

Gruß, ip
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 578
Registriert: 01.04.2007
Wohnort: Neuss/NRW

Re: Anordnung von Bildern [CSS]

Beitragvon fluuu am 07.11.2007, 14:15

Hallo,
mit der Browser-Kompatibilität habe ich auch immer so meine Schwierigkeiten, nicht sehr Kundenfreundlich.
Bei der Entwicklung verwende ich nur einen Browser für die Vorschau und wenn alles passt bin ich zufrieden
und denke mir, wenn die anderen Browser es nicht gescheit anzeigen haben die Leute Pech gehabt.
Geht natürlich nicht, genauso wie bei der Bildschirmauflösung, es hilft alles nichts, eine renommierte Website
muss von allen Usern mit allen Möglichkeiten betrachtbar sein. Wenn ich allerdings ganz exklusiv nur einen
Betrachter haben möchte, dann wird genau auf diesen optimiert... :lol:

gruß fluuu
http://www.webarchitectura.de kreatives Webdesign
http://www.fluuu-bilder.de künstlerische Fotografie
Benutzeravatar
fluuu
Mitglied
 
Beiträge: 191
Registriert: 21.10.2007
Wohnort: Berlin-Allgäu

Re: Anordnung von Bildern [CSS]

Beitragvon Lukas am 08.11.2007, 15:37

Jo klar ich bin ja noch ganz am Anfang ^^
ist auch keine prof. Firma, das ganze mach ich für nen Freund.
Für ne gescheite Seite hab ich doch viel zu wenig Ahnung :-P

IE kommt später ^^ erstmal solltes im FF fertig sein dan schau ich was ned passt, sonst blick ich garnix mehr...
Und Dreamweaver hab ich leider ned, nur Proton ;)
Find ich besser als zusammenklicken

€dit: Hab bissl weitergemacht.
Also das mit dem zu engen Div Container hat das Schriftproblem schonmal gelöst :)
Dann hab ich die Bilder mit vertical-align: middle angeordnet, sieht auch super aus.
Die Schrift ist jetzt nur zum testen der Abstännde so klein (kleiner als die Bilder).

Was ich jetzt nicht verstehe: Warum reichen 110px Höhe nicht für die 5 Bilder?
Die sind alle 22x22px groß und 22 x 5 = 110 (die imgs sind auch per CSS auf 22x22px beschränkt :o0: )

Der HTML Code ist so wie vorher,
CSS etwas bereinigt von sinnlose margin/padding Angabe (warn alle zum testen ^^):

Code: Alles auswählen
* {margin: 0; padding: 0;}

body {
background-color: #666666;
}

div.bg {
width: 740px;
height: 800px;
margin: auto;
padding: 0;
background-image: url(background.jpg);
}

div.banner {
width: 650px;
height: 150px;
margin: 0 45px;
top: 10px;
position: absolute;
}

div.menu {
width: 200px;
height: 110px;
margin: 0 45px;
top: 170px;
position: absolute;
}

div.menu ul {
list-style: none none;
}

div.menu ul li a {
width: 82px;
height: 22px;
text-decoration: none;
font: bold 8pt Arial;
color: #666666;
}

div.menu ul li a img {
width: 22px;
height: 22px;
border: none;
vertical-align: middle;
}


div.menu ul li a:hover img {
width: 25px;
height: 25px;
}
"Wer sich Steine zurechtlegen kann, über die er später stolpert,
hat Erfolg in den Naturwissenschaften." - Erwin Chargaff
Bild
Benutzeravatar
Lukas
Mitglied
 
Beiträge: 2497
Registriert: 07.09.2005
Wohnort: Dachau (München)

Re: Anordnung von Bildern [CSS]

Beitragvon Ingo am 08.11.2007, 23:20

Hi.
5 x 22 = 110 - kann ich aus professioneller Sicht bestätigen ;o) - Soweit es um die Bilder geht, ist das klar.
Aber die Bilder stehen jedes zusammen mit einem Linktext in einer gemeinsamen li-box. Braucht die Schrift mehr
als 22px Höhe, wird die li-Box eben so hoch, wie es die Schrift erfordert. - Es sei denn, man erzwingt für die li
eine feste Höhe und schneidet ab, was übersteht: div.menu ul li { height:22px; overflow:hidden; }.
Sieht aber nich schön aus :lol:
PS: Die height-Angabe für <a> wirkt nicht, weil <a> ein inline-Element ist. Deren Höhe kann man so nicht festlegen, das geht nur bei Block-Elementen (div, li,...)
Zuletzt geändert von Ingo am 08.11.2007, 23:29, insgesamt 1-mal geändert.
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 578
Registriert: 01.04.2007
Wohnort: Neuss/NRW

Re: Anordnung von Bildern [CSS]

Beitragvon Lukas am 08.11.2007, 23:29

Hm ja klar, aber wenn ich die Schrift total klein mach, oder weg lass ist trotzdem ein Abstand zwischen den Bildern ;)
Das passt zwar so aber mich würde interessiern wo der herkommt :lol:
"Wer sich Steine zurechtlegen kann, über die er später stolpert,
hat Erfolg in den Naturwissenschaften." - Erwin Chargaff
Bild
Benutzeravatar
Lukas
Mitglied
 
Beiträge: 2497
Registriert: 07.09.2005
Wohnort: Dachau (München)

Re: Anordnung von Bildern [CSS]

Beitragvon Ingo am 08.11.2007, 23:32

Seltsam, ich betrachte die Seite in 4 verschiedenen Browsern (IE6, FF2, Netscape, Opera); nirgendwo sehe ich einen
Abstand ... Allerdings habe ich auch eine DTD (die von oben) im Dokument stehen. Ohne die zeigt der IE solche Abstände.
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 578
Registriert: 01.04.2007
Wohnort: Neuss/NRW

Re: Anordnung von Bildern [CSS]

Beitragvon Lukas am 09.11.2007, 00:57

Ja mit dem DTD Zeug muss ich mich noch befassen ^^ Sagt mir erstmal garnichts...
Mal schaun vielleicht gehts ja dann auch im FF...
"Wer sich Steine zurechtlegen kann, über die er später stolpert,
hat Erfolg in den Naturwissenschaften." - Erwin Chargaff
Bild
Benutzeravatar
Lukas
Mitglied
 
Beiträge: 2497
Registriert: 07.09.2005
Wohnort: Dachau (München)


Zurück zu HTML/CSS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast