這可能是有史以來最簡單的問題,但嘗試我可能根本找不到它。我現在正在一個網站上工作,我希望儘可能少地使用<div>
元素,以保持HTML的漂亮和易於編輯。目前我基本上有:隱藏內容而不隱藏div?
<html doctype etc etc>
<head>
<title and meta tags>
</head>
<body>
<div id="wrapper">
<div id="header"></div>
<div id="body"></div>
<div id="sidebar"></div>
<div id="footer"></div>
</div>
</body>
</html>
非常簡單和優雅,是嗎?然而,客戶希望他們的標題由包含其公司名稱和徽標的單個大圖像組成。所以我的選項非常清晰 - 可以使用<img>
標籤,也可以在標頭<div>
上設置background-image
屬性。然後,我開始思考SEO。對於Google來說,如果標頭<div>
包含一個<h1>
元素和她的網站標題,但是這個元素必須隱藏起來,以便人類用戶只能看到背景圖片,那就太好了。
雖然如果您要使用display:none;
css屬性,那麼整個<div>
會消失,包括背景。有沒有隱藏<div>
的內容而不隱藏<div>
本身的好方法?
一個更好的方法是使用一個id/class爲h1,因爲其他h1會出現在頁面中,並最終隱藏起來,所以像 'h1#hide {display:none; visible:hidden;}'你怎麼看? – DaMainBoss
是的,這是我的錯誤。感謝您的支持。更新。 儘可能避免使用額外的ID /類,並使用文檔流來指定 - 但這只是一種偏好。使其更容易閱讀和稍後更改。 :) – Joshua
我很愚蠢,我沒有想到這一點。謝謝。一個側面說明,雖然在像我這樣的簡單頁面上,它沒有什麼區別 - 使用類或ID比使用遞歸定義快得多。所以'h1.hide'會是最優的,因爲'#header h1'需要更長的時間才能渲染(當頁面上有成千上萬的元素時纔會顯着) – stevendesu