我傾向於使用稍微少純的方法來解決這個問題。
我巢H1內的圖像,給下面的加價:
<div id="header">
<h1>This is the header<img src="img/stackoverflowLogo.png" /></h1>
</div>
然後使用CSS的<h1>
相對,並將圖像與position:absolute
定位。這會導致圖像從文檔流中移出並移動到其父元素文本的「上方」。我使用的CSS是(類似):
#header h1
{position: relative;
border: 0 none transparent;
font-size: 2em;
margin: 1em auto;
border: 1px solid #ccc;
}
#header img
{position: absolute;
top: 0;
left: 0;
}
我已經張貼在這裏演示:http://www.davidrhysthomas.co.uk/so/h1Img.html。
第一部分顯示了第一步,將圖像相對於其父圖像進行定位,圖像具有透明背景,以便了解發生了什麼。
在第二部分和第三部分中,我使用jQuery將<h1>
尺寸分配給與圖像尺寸相同的尺寸,以防止(如在第一個版本中)<h1>
文本超出圖像本身,如下所示:
$(window).load(
function() {
var w = $('#logo').outerWidth();
var h = $('#logo').outerHeight() ;
$('#two h1').css('width',w,'height',h);
$('#three h1').css('width',w,'height',h);
}
);
這是一個有點缺憾,它顯然依賴於JavaScript的被啓用和也有作爲文件運行腳本和應用數學/ CSS有點上的頁面加載頁面閃爍。
該方法確實滿足您的文字可見的要求,直到圖像本身加載,並且它確實使用xhtml和CSS來隱藏文字。如果圖像尺寸是事先知道的,它不需要需要 jQuery/js來防止溢出。
(我的道歉傑夫,喬爾等人,使用SO標誌,沒有任何形式的許可,但它的時候覺得合適的...... =))
我通常基本上這樣做,但與文本也包裹在'一個',爲另一個直觀的主頁鏈接。 – reisio 2010-06-22 18:12:27
你絕對正確的'''的東西,我也這樣做。此外,在現實生活中,我不使用h1作爲我的網站標題,並將其保留爲當前頁面標題。 – 2010-06-22 21:27:19
這不符合標題將鏈接到主頁的基本需求 – shoosh 2010-06-30 07:53:08