CSS in FIREFOX und IE, problem mit blocksatz und listendesign |
Willkommen, Gast ( Anmelden | Registrierung )
CSS in FIREFOX und IE, problem mit blocksatz und listendesign |
03.09.2005 - 0:33
Beitrag
#1
|
|
Rookie Gruppe: User Beiträge: 5 Mitglied seit: 03.09.2005 Mitglieds-Nr.: 5.411 |
hi leude,
habe zwei probleme mit css in firefox. bislang. 1: habe eine liste erstellt, die ich als inline-navi benutze. macht er auch. nur leider sind die einzelnen listenpunkte genau so lang wie das enthaltene wort und nicht wie ich es mit width und height bestimmt habe. der ie intepretiert die größenangaben absolut richtig und es sieht richtig gut aus.... 2: ich will blocksatz mit text-align:justify; verwenden. der ie machts, firefox weiß nich was er damit anfangen soll. und nun doch noch ne 3. frage: was heißt es und wie macht man es: validieren bei www.w3.org. vielen dank für eure hilfe! |
|
|
03.09.2005 - 10:36
Beitrag
#2
|
|
Rookie Gruppe: User Beiträge: 5 Mitglied seit: 03.09.2005 Mitglieds-Nr.: 5.411 |
habe mittlerweile schon etwas mehr hinbekommen. mit padding top und right konnte ich wenigstens die background bilder etwas vergrößern. der text des links, also inhalt des <li> tags lässt sich aber nicht verschieben. text-align scheint firefox bei listen überhaupt nicht zu beachten. egal an welcher stelle ich ihn einfüge, er bleibt stur auf der linken seite.
hier der quellcode #topnavi { font-family: trebuchet ms, arial; font-weight: bold; font-size: 15; border: none; height:27; } #topnavi li { display: inline; } #topnavi li a { background: url(button_normal_gif.gif) right; text-decoration: none; margin-right: 10; margin-bottom: 4; color: black; padding-right: 50; padding-top: 5; padding-bottom: 5; text-align: center; } #topnavi li a:hover { width: 110; height: 27; background: url(button_aktiv_gif.gif); text-decoration: none; margin-right: 10; margin-bottom: 4; color: black; text-align: center; padding-right: 50; padding-top: 5; padding-bottom: 5; } #topnavi li a:active { width: 110; height: 27; background: url(button_aktiv_gif.gif); text-decoration: none; margin-bottom: 4; margin-right: 10; color: black; text-align: center; padding-right: 50; padding-top: 5; padding-bottom: 5; } |
|
|
03.09.2005 - 13:40
Beitrag
#3
|
|
looks good Gruppe: User Beiträge: 32 Mitglied seit: 21.04.2004 Wohnort: Marburg Mitglieds-Nr.: 2.532 |
|
|
|
03.09.2005 - 13:59
Beitrag
#4
|
|
Weiss zuviel!! Gruppe: Mods Beiträge: 668 Mitglied seit: 19.04.2002 Wohnort: Grimmen Mitglieds-Nr.: 385 |
Hallo
also immer langsam mit den jungen Pferden: zu 1. Schau mal in die HTML- und CSS-Recommendations von welchem Typ die li-Tags sind und welche Attribute erlaubt sind und welche nicht. Manchmal hilft das echt weiter. Dann könntest Du sicher erfahren, dass Block- und Inline-Elemente unterschiedlich reagieren. Eventuell hilft Dir, über list-style-type und float in Verbindung mit width nachzudenken und dafür display nicht zu ändern. zu 2. Mein Moz/FF kennt das sehr wohl. zu 3. Die Validatoren prüfen, ob Deine HTML, CSS oder die Links usw. den festgelegten Standards genügen und nicht mit falschen oder propritären Tags oder Eigenschaften versehen sind. Sie sind nicht mehr und nicht weniger als Syntaxchecker. Die Benutzung ist selbsterklärend. [edit] Da war einer schneller! [/edit] Der Beitrag wurde von i.b.g bearbeitet: 03.09.2005 - 14:02 |
|
|
03.09.2005 - 19:30
Beitrag
#5
|
|
Anwärter auf W3.org Mitgliedschaft Gruppe: User Beiträge: 550 Mitglied seit: 28.11.2001 Wohnort: Berlin Friedrichshain Mitglieds-Nr.: 107 |
Hallo
Nehmen wir das Ganze mal auseinander: ZITAT(tobias82 @ 03.09.2005 - 10:36) #topnavi { font-family: trebuchet ms, arial; font-weight: bold; font-size: 15; border: none; height:27; } 1. bei font-family fehlt noch die Angabe einer generischen Schriftart. In diesem Falle wäre das "sans-serif". Der Grund: Wenn bei einem Benutzer keine der angegebenen Schriftarten installiert ist, nimmt der Browser seine Standardschriftart. Die kann aber ganz anders aussehen. Um dem Browser aber zu ermöglichen, die Seite in Hinsicht auf die Schrift zumindest ähnlich darzustellen, gibt man die generische Schriftart an, womit der Browser eine andere, ähnliche Schrift benutzt. 2. Bei font-size und height gibst du nach der numerischen Angabe keine Maßeinheit an. In CSS ist dies aber vorgeschrieben, anders als bei entsprechenden HTML-Attributen, bei denen automatisch die Einheit Pixel angenommen wird, wenn keine Einheit notiert ist. Das ist auch der Grund, warum der Moz/FF diese Angaben ignoriert. ZITAT(tobias82 @ 03.09.2005 - 10:36) #topnavi li { display: inline; } #topnavi li a { background: url(button_normal_gif.gif) right; text-decoration: none; margin-right: 10; margin-bottom: 4; color: black; padding-right: 50; padding-top: 5; padding-bottom: 5; text-align: center; } Um die Navigation in Form einer Liste horizontal anzuzeigen, ist das display:inline; für die li-Elemente richtig. Damit geht aber einher, dass man diesen keine Breite mehr zuweisen kann. Dies geht nur für Blockelemente, du hast sie aber (vollkommen richtig) zu Inlineelementen gemacht. [edit]: i.b.gs Hinweis zu float ist auch ein Lösungsansatz. Eine gute und reichhaltige Sammlung von Beispielen der CSS-Formatierung von Navigationslisten findest du bei Listamatic.[/edit] Daher: 3. Mache die in den li-Elementen enthaltenen Links (<a></a>) zu Blockelementen (display:block;). Somit kannst du ihnen mit z.B. width:12em; auch eine feste Breite zuweisen. 4. Nur wenn du einem Element eine Breite zuweist, kann der darin enthaltene Text anders als mit text-align:left; formatiert werden. Hat das Element keine festgelegte Breite, die größer als der Inhalt ist, ist das Element nur so breit, wie sein Inhalt. Daher wirkt sich deine Angabe optisch nicht aus. Wenn der MSIE etwas anderes anzeigt, zeigt er es falsch an! ZITAT(tobias82 @ 03.09.2005 - 10:36) #topnavi li a:hover { width: 110; height: 27; margin-right: 10; margin-bottom: 4; padding-right: 50; padding-top: 5; padding-bottom: 5; } #topnavi li a:active { width: 110; height: 27; margin-bottom: 4; margin-right: 10; padding-right: 50; padding-top: 5; padding-bottom: 5; } Auch hier gelten die obigen Punkte: - keine Maßeinheiten angegeben - width:...; hat keine Wirkung in Inlineelementen. Wobei die Breite bei #topnavi li a angegeben werden sollte, da sie sich ja wohl nicht bei einer Zustandsänderung (:link, :visited, :hover, :active, :focus) verändern soll. Sie muss somit nur einmal angegeben werden. Und noch einmal zum Mitmeißeln: - Wenn der MSIE etwas so anzeigt, wie du es willst, es aber in anderen, modernen Browsern "falsch" angezeigt wird, heißt das (fast immer) nicht, dass er das richtig anzeigt. - Setze dich mit den Grundlagen von CSS auseinander. - Benutze im Stadium der optischen Gestaltung der Seite den FF als primären Testbrowser. Er hält sich am dichtesten an die Standards. - Danach kannst du die Darstellungsfehler [1] z.B. im MSIE mit CSS-Browserweichen oder Conditional-Comments abfangen. [1] Deren Gründe du ja durch das Erlernen der CSS-Grundlagen identifizieren kannst. :-) Tschö, Auge Der Beitrag wurde von Auge bearbeitet: 03.09.2005 - 19:43 |
|
|
04.09.2005 - 19:01
Beitrag
#6
|
|
Rookie Gruppe: User Beiträge: 5 Mitglied seit: 03.09.2005 Mitglieds-Nr.: 5.411 |
vielen dank für eure ausführliche hilfe. mittlerweile siehts auch schon besser aus, wenngleich ich durch die angabe von "px" keine veränderungen erkennen konnte. sowohl mit als auch ohne zeigt sowohl firefox als auch ie die css-infos richtig an.
width und height konnte ich nun einwandfrei dank block element bestimmen, jedoch funktioniert jetzt inline nicht mehr. obwohl ich es im vorausgehenden li element definiert habe und nicht erst im li a element wo die block info steht... wenn das problem gelöst ist, dann hab ich mein navi so wie ich es will....nochmals vielen dank! und hier der aktuelle css-code: #topnavi { border: none; } #topnavi li { display: inline; } #topnavi li a { display: block; width: 110px; background: url(button_normal_gif.gif) right; text-decoration: none; margin-right: 10px; margin-bottom: 4px; color: black; padding-top: 5px; padding-bottom: 5px; text-align: center; } #topnavi li a:hover { display: block; width: 110px; background: url(button_aktiv_gif.gif); text-decoration: none; margin-right: 10px; margin-bottom: 4px; color: black; text-align: center; padding-top: 5px; padding-bottom: 5px; } #topnavi li a:active { display: block; width: 110px; background: url(button_aktiv_gif.gif); text-decoration: none; margin-bottom: 4px; margin-right: 10px; color: black; text-align: center; padding-top: 5px; padding-bottom: 5px; } |
|
|
05.09.2005 - 11:56
Beitrag
#7
|
|
Anwärter auf W3.org Mitgliedschaft Gruppe: User Beiträge: 550 Mitglied seit: 28.11.2001 Wohnort: Berlin Friedrichshain Mitglieds-Nr.: 107 |
ZITAT(tobias82 @ 04.09.2005 - 19:01) vielen dank für eure ausführliche hilfe. mittlerweile siehts auch schon besser aus, wenngleich ich durch die angabe von "px" keine veränderungen erkennen konnte. sowohl mit als auch ohne zeigt sowohl firefox als auch ie die css-infos richtig an. Dann ist selbst der FF fehlertoleranter, als ich dachte. ZITAT(tobias82 @ 04.09.2005 - 19:01) width und height konnte ich nun einwandfrei dank block element bestimmen, jedoch funktioniert jetzt inline nicht mehr. obwohl ich es im vorausgehenden li element definiert habe und nicht erst im li a element wo die block info steht... Was funktioniert jetzt nichtmehr? ZITAT(tobias82 @ 04.09.2005 - 19:01) #topnavi { border: none; } none ist der Standardwert für border, muss deshalb nicht extra angegeben werden. ZITAT(tobias82 @ 04.09.2005 - 19:01) #topnavi li a { ... } #topnavi li a:hover { ... } #topnavi li a:active { ... } kann wie folgt zusammengefasst werden: QUELLTEXT #topnavi li a { display: block; width: 110px; background: url(button_normal_gif.gif) right; text-decoration: none; margin-right: 10px; margin-bottom: 4px; /* evtl. margin-Angabe für alle vier Seiten gleichzeitig */ /* dafuer obige Einzelangaben raus */ margin:0 10px 4px 0; color: black; padding-top: 5px; padding-bottom: 5px; /* evtl. padding-Angabe für alle vier Seiten gleichzeitig */ /* dafuer obige Einzelangaben raus */ padding:5px 0; text-align: center; } #topnavi li a:hover { background: url(button_aktiv_gif.gif); } #topnavi li a:active { background: url(button_aktiv_gif.gif); } Alle anderen Angaben bei a:hover und a:active sind identisch zu a. Tschö, Auge |
|
|
09.09.2005 - 8:07
Beitrag
#8
|
|
Rookie Gruppe: User Beiträge: 5 Mitglied seit: 03.09.2005 Mitglieds-Nr.: 5.411 |
das mit der zusfas isn guter tipp zur übersichtlichkeit, danke!
ansonsten zur frage was nicht mehr funktioniert: mein menü soll horizontal angeordnet sein, deshalb die inline eigenschaft. wenn ich jetzt aber block verwende um die breite und höhe einstellen zu können, vernachlässigt er den inline-tag und macht mir ein vertikales menü draus. wie löse ich diesen tag-konflikt? danke wie immer und ein schönes wochenende! |
|
|
Google Bot |
Beitrag
#
|
Google Ads |
|
|
|
Vereinfachte Darstellung | Aktuelles Datum: 26.04.2024 - 19:46 |