Kom ihåg mig?
Home Menu

Menu


Padding-skillnad i IE och FF

Ämnesverktyg Visningsalternativ
Oläst 2006-08-28, 08:28 #1
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Hej,

Nu har jag suttit många långa timmar och försökt få ihop varför jag inte kan få IE och Firefox att visa mina knappar på samma sätt. Jag vill ha "dynamiska knappar" så att de expanderar utifrån hur lång texten inom knappen är. Men jag kan inte få paddingen att stämma. Ändrar jag i "vänster" så att den funkar för FF så pajar den för IE och vice versa. Så här blir det:



Ser ni nåt fel i CSS-koden nedan? Hur kan man göra för att få det att fungera? Jag har funderat på att ha olika CSS för olika browsers men det känns väldigt overkill.

#tabs ul {
margin-left: 0;
padding: 0;
display: inline;
}

#tabs ul li {
margin-right: 10px;
padding: 0 0 0 0;
background: url(images/button_left.gif) no-repeat left top;
list-style: none;
display: inline;
}

#tabs ul li a{
margin-left: 10px;
padding: 8px 25px 25px 10px;
background: url(images/button_right.gif) no-repeat right top;
list-style: none;
display: inline;
font-weight: bold;
}

#tabs ul li.here {
list-style: none;
display: inline;
}
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 08:59 #2
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Att IE och Fx inte är överens är inte direkt någon nyhet. En lösning kan vara att ange samma värde två gånger med värdet för IE sist och med t.ex. ett underscore inblandat.

#baba {
margin-right: 10px;
_margin-right: 5px;
}

Jag har för mig att jag har gjort något liknande vid ett par tillfällen.
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 09:06 #3
Slaktad Slaktad är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 6
Slaktad Slaktad är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 6
#tabs ul {
margin-left: 0;
padding: 0;
display: inline;
}

#tabs ul li {
margin-right: 10px;
padding: 0 0 0 0;
background: url(images/button_left.gif) no-repeat left top;
list-style: none;
display: inline;
float: left; /* Lägg till en float här */
}

#tabs ul li a{
margin-left: 10px;
padding: 8px 25px 25px 10px;
background: url(images/button_right.gif) no-repeat right top;
list-style: none;
display: inline;
font-weight: bold;
float: left; /* Lägg till en float här */
}

#tabs ul li.here {
list-style: none;
display: inline;
}
Slaktad är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 09:32 #4
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Jag har förstått att det är problem med gemensam kompabilitet mellan IE och FF men det har aldrig blivit så uppenbart som med det här.

Slaktad: Ska testa det.

Westman: Hur fungerar det? Tar IE den med _ eller? Varför skulle de olika webbläsarna använda olika?
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 09:37 #5
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Citat:
Originally posted by clirre@Aug 28 2006, 09:32
Westman: Hur fungerar det? Tar IE den med _ eller? Varför skulle de olika webbläsarna använda olika?
Fx anser, helt korrekt, att _height inte är samma sak som height och eftersom _height inte är ett känt attribut så skippar Fx helt sonika den raden. _ anses som skräp av IE och "filtreras bort" och kvar blir alltså height.

Jag är inget proffs på css men så har jag förstått det hela.
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 10:14 #6
Kaffe Kaffe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2003
Inlägg: 227
Kaffe Kaffe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2003
Inlägg: 227
Citat:
Ursprungligen postat av Westman
Citat:
Ursprungligen postat av clirre
Westman: Hur fungerar det? Tar IE den med _ eller? Varför skulle de olika webbläsarna använda olika?
Fx anser, helt korrekt, att _height inte är samma sak som height och eftersom _height inte är ett känt attribut så skippar Fx helt sonika den raden. _ anses som skräp av IE och "filtreras bort" och kvar blir alltså height.

Jag är inget proffs på css men så har jag förstått det hela.
Det är grunderna för CSS-hacks. Man hade också kunnat använda sig av "Star Hack" för IE. Själv rekommenderar jag dock "Conditional Comments", då löper man i a f inte risk att råka göra ett helt Stylesheet förlegat pg a att någon annan webbläsare helt plötsligt tolkar regler som börjar med underscore. I vissa fall kan CSS-hacks vara inkorrekt CSS, och att förklara hela sin CSS-fil ogiltig pg a "Det blå E:t" är lite korkat.

Kod:
 <!--[if lt IE 7]> 
  <link media="screen, projection" rel="stylesheet" href="assets/css/ie.css" type="text/css"> 
 <![endif]-->
Inkludera bara ovanstående sist i Head (så att det skriver över tidigare definierade regler) och lägg allt IE-specifikt där.

Och, som svar till ovanstående fråga, nu har jag bara skummat igenom koden (no testing) men felet är förmodligen att du sätter allting till inline-element. Padding och Inline har alltid rimmat illa. Eftersom alla element (utom Anchor) är block-element så är det bara att ta bort display: inline. Ersätt med float, som "skapar" block-element som flyter.

Så Slaktads lösning är då korrekt.
Kaffe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 10:24 #7
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
Ett annat tips som kan vara bra i vissa fall är att använda sig av !important. Firefox och andra moderna webbläsare förstår detta men IE gör det inte.

padding: 3px !important;
padding: 5px;

Ovanstående kommer Firefox m fl utläsa som att 3px-regeln är viktig och följaktligen ignorera nästa rad. IE som är lite sämre på CSS kommer inte förstå första raden, ignorera den och istället använda 5px som padding. Detta är helt korrekt CSS vilket ju alltid är bra. Om jag inte missminner mig så kommer box-modellen i IE7 vara mer korrekt och kanske har de också implementerat stöd för !important. Är dock inte säker.
dotvoid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 11:56 #8
Kaffe Kaffe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2003
Inlägg: 227
Kaffe Kaffe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2003
Inlägg: 227
Citat:
Originally posted by dotvoid@Aug 28 2006, 10:24
Ett annat tips som kan vara bra i vissa fall är att använda sig av !important. Firefox och andra moderna webbläsare förstår detta men IE gör det inte.
IE 7 förstår !important, vilket kommer innebära att man genast får uppdatera sin CSS-fil så fort . Conditional Comments är vad Microsoft själva rekommenderat.

Och IEs felaktiga Box Model uppstår ändå bara i Quirksmode, så om inte annat så kan man ju nöja sig med att använda korrekt HTML och hoppa över allt vad CSS-hacks och Conditional Comments heter . Visserligen inte helt sant, men ändå...
Kaffe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 19:34 #9
clirres avatar
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2005
Inlägg: 1 035
clirre clirre är inte uppkopplad
Har WN som tidsfördriv
clirres avatar
 
Reg.datum: Nov 2005
Inlägg: 1 035
Hej igen,

Har kommit hem och prövat lite nu. Fick aldrig _padding att fungera men !important fungerar. I alla fall i ett tag (tills IE7 kommer)....

Det är för övrigt mer än var IE7 gjorde. Laddade ner den idag och den hängde sig innan den ens startade :/

Kaffe: Ska testa din lösning också. Ska man bara lägga den IE-specifika taggen där och sen ha en kopia i den "vanliga" CSS-filen? Eller ska man ha två likadana CSS som bara skiljer sig i den krånglande taggen?
clirre är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-28, 19:42 #10
Slaktad Slaktad är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 6
Slaktad Slaktad är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 6
Du ska inte behöva hacka IE för en sådan sak du vill åstadkomma. Se till att ha valid kod och kör med min/Kaffes lösning så ska det funka.
Slaktad är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:39.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017