![]() |
Jag försöker lägga till en skugga till en bild som jag variera i bredden. Detta funkar alldeles utmärkt så klar i firefox men självklart ska explorer alltid jävlas. Av någon anledning skapar den en extra padding på 3 pixlar neråt och hela skuggeffekten förstörs. Vaför?
Värt att veta är att denna kod ligger i table som ligger i table som ligger i en table. Detta kodavsnitt är så klart inte helt klart men jag vill få bort felet innan jag börjar på detaljer. Koden jag arbetar med är inte min från början så kan det vara så att något ärver något från någon högre makt om man säger så? Hur kan jag lättast kolla upp det i sådana fall. Kod:
<div style="float:left"> |
Sätt bilden till "display: block" så borde det lösa sig.
|
Kolla så du har rätt doctype.. annars kan det bli ojämna resultat.
|
Citat:
Kan du förklara varför det blev som det blev? |
Hej,
vad bra att det löste sig. Kan inte riktigt förklara varför IE gör så. Men det är pga att bilder är inline-element, och internet explorer lägger av någon outgrundlig anledning till ett mellanrum under den raden som innehåller inline-elementet. Jag tror man även kan lösa det genom att sätta en efter bilden (vilket gör det hela ännu konstigare), men då blir det knas i firefox et al istället. Min förklaring blir att det helt enkelt är något man måste lära sig och vara medveten om :) |
Om det vore så att det låg i en tabell som låg i en tabell som låg i en tabell så vore risken strul naturligvis stor (utöver att det är omodernt). Nu verkar det ju snarare som det handlar om divvar. Värt att hålla isär begreppen.
Tack till Syke för övrigt. Har stött på detta problem ibland men satt margin till minus för IE (vilket också konstigt nog löser problemet) - att ändra display-typ är en bättre lösning. |
Citat:
|
Tack för så bra tips men nu till mitt nästa problem osom även det hamnat så klart om att explorer inte gör som jag vill att det ska göra medans firefox funkar utmärkt.
Jag försöker göra en div som ska vara dold och sen komma fram när man klickar på en länk. problemet är inte själv upppoppningen utan positionen av den absoluta diven. Kod:
<div class="grayback" id="reviewsdiv9"> Vad kan vara felet? http://img98.imageshack.us/img98/1240/felbv0.jpg http://img213.imageshack.us/img213/6162/fel2ji6.jpg |
Du har väl satt right: 0px; exempelvis. Det framgår ju varken hur du positionerar divven (med left/right/top/bottom) eller i vilka refernsramar (positioneringen är relativ till vad?).
|
Citat:
|
Citat:
Det finns ett antal olika typer av visning/beteende: 1. block-element (beter sig som en div) 2. inline-element (beter sig som span) 3. ersatta (replaced) element, t.ex. img och input 4. positionerade element 5. flytande (floated) element 6. inline-block-element (beter sig som inline-element men har en "box" som block-element) 7. tabell-element Alla dessa typer beter sig i alla fall i någon mån annorlunda och vill man få verklig kontroll sin html/css så kan det löna sig att lära sig skillnaderna. För positionerade element gäller det framförallt att tänka på i vilken kontext den befinner sig, dvs i förhållande (relativt) till vilket element (med hjälp av position: relative) sätts koordinaterna (top/left/right/bottom). En positionerad div "flyter" inte på något utan bildar en ny positioneringskontext som är lösgjord/avlägsnad från sin urspungliga plats. |
Ok tack för tipsen, lyckades lösa det MEN inte helt :D
Jag gjorde "write an online review and..." till en relativ div och satte in popup rutan in i den och satte left till 0 och top till 25. Men varför skapas det nu ett mellanrum mellan de 2 divarna "See all.." och "write an..."? http://img21.imageshack.us/img21/812/fel3sg1.jpg Kod:
<div class="grayback" id="reviewsdiv8"> Edit: Jag löste det genom att definiera höjden på diven. |
Citat:
Det är helt enkelt så att IE "alignar" bilden till baslinjen på texten, dvs det görs plats för g,j,p,q,y osv. (Texten är ju i detta fall obefintlig, men som jag förstår det så tycker Explorer ofta om att skapa textnoder av blanksteg.) En annan lösning utöver display:block är således att bottenjustera bilden: Kod:
img { vertical-align: bottom; } |
Alla tider är GMT +2. Klockan är nu 11:27. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson