2010-03-06 9 views
18

Ich versuche, einen Farbverlauf über einen Inline-/Inline-Block-Anker-Link zu positionieren, und dieser Farbverlauf erbt die Breite dieses Eltern-Ankers. Das Problem besteht darin, dass der Bereich entweder die gesamte Breite des übergeordneten Elements des Ankers oder nur die Breite des Elements erbt. Ich bin nicht in der Lage, das span-Element zu erhalten, um die Breite ordnungsgemäß zu erben, während die Inline-Anzeige des Ankers beibehalten wird.Absolutes Element, das die Breite des relativen Eltern-DIV erbt

CSS

a { width: auto; display: inline-block; } 

a span { background: url(../images/fade_h1.png); width: 100%; height: 12px; position: absolute; display: block; z-index: 3; } 

HTML

<a href="index.php"><span>&nbsp;</span>Index</a> 

Antwort

23

nicht mit position: absolute soweit ich sehen kann getan werden kann.

Ich bin nicht sicher, ob diese Sie dienen wird, aber wie über die aposition: relative und die a span

left: 0px; 
right: 0px; 
top: 0px; 
bottom: 0px; 

geben?

+5

@abysslogic nein, ich meine nur das Elternteil auf 'relativ' zu setzen, aber das Kind' absolut' zu lassen, das sollte das Kind den gleichen Platz einnehmen wie das Elternteil (wenn das was du willst). –

+3

oh komisch, Ich dachte, dass die relative Positionierung automatisch war - wusste nicht, dass ich es in meinem Code definieren musste. Das hat es gelöst, danke! – abysslogic

+4

Es heißt widersprüchliche absolute Positionen: http://www.alistapart.com/articles/conflictingabsolutpositions/ –