Permalänk

CSS - överlappande bilder

God afton.

Jag pysslar för tillfället med ett hemsidesprojekt åt en vän, och problem har uppstått.

På sajten finns ett sidhuvud som består av en stor bild, och under den finns en till bild föreställande en penna. Denna bild ska överlappa den större bilden. Detta har jag löst genom att sätta relativ positionering på bild nummer två (pennan), och satte ett negativt toppvärde.

Problemet som uppstår med detta är att utrymmet där bilden egentligen skulle ligga utan ett negativt toppvärde, blir 'upptaget', och efterföljande element placeras under bildens egentliga position (och inte direkt under den som jag vill).

Hur löser jag detta?

För mer information kika på bifogad fil, det tomrum som lämnas efter bildens egentliga position är markerat, samt efterföljande element.

Permalänk
Inaktiv

Det löser du med z-index: n;

där n är en siffra. Högre siffra = Bilden kommer högre upp.

Exempel:
bild1 har z-index:1 och bild2 har z-index:2

bild2 kommer att överlappa bild1 för att bild2 har högre z-index värde än bild1.

Permalänk
Medlem

Du kan också använda absolut positionering.

Den här bilden hamnar 10 pixlar in från sidans topp och 10 pixlar från sidans vänster:

<img src="bild.jpg" alt="Bild" style="position:absolute;top:10px;left:10px" />

Om menybilden hamnar olika beroende på upplösning och så, är det intressant att notera att absolut positionering blir i förhållande till sitt moderelement istället för till hela sidan, om moderelementet är absolut eller relativt (eller fixed?) positionerat. Ex:

<p>Bla.</p> <div style="position:relative"> <img src="titelbild.jpg" alt="Titelbild" /> <img src="ovanpå.jpg" alt="Ovanpå" style="position:absolute;top:10px;left:10px" /> </div>

Bilden ovanpå hamnar här 10,10 från övre vänstra hörnet i DIVen, inte från övre vänstra hörnet på hela sidan.

Om man laddar om http://www.johannaost.com tills man ser polkagrisar i texten "Johanna Öst" (ca 20% av gångerna) så har man ett exempel på just detta - visa för all del källa.

Permalänk

Z-index löser inte mitt problem, men tack ändå.

Malesca får min guldmedalj, tack och bock.

Permalänk
Medlem

I fall där man kanske inte vill använda absoult postionering går det istället att använda sig av negativ margin. Kan vara bra att veta om då man kanske inte tänker på det med en gång.

Permalänk
Medlem

Ludvig, kan du utveckla det där? Det låter som nåt jag kanske kan använda.

Permalänk
Medlem

Malesca:

<div style="float: left; width: 100px; height: 100px; background: #00f;"></div> <div style="float: left; width: 100px; height: 100px; background: #f00; margin-left: -50px"></div>

Den röda rutan kommer hamna 50 pixlar in på den blåa.

Föresten, position: fixed; fungerar inte i Internet Explorer.