常見CSS與HTML使用誤區

来源:http://www.cnblogs.com/zjf-1992/archive/2017/01/07/6258135.html
-Advertisement-
Play Games

誤區一.多div症 上述使用多餘的div標簽“多div症”,應簡化成下 誤區二.多類class症 註意點class可以應用於頁面任意多個元素,非常適合標識內容類型或其他相似的條目 一段新聞(新聞標題、新聞詳情內容)類news-head與news-text 多類症表現,不需要這麼多的類區分元素樣式 最 ...


   誤區一.多div症  

<div class="nav">
    <ul>
       <li><a href="/home/">Home</a></li>
       <li><a href="/about/">About</a></li>
       <li><a href="/concact/">Concact</a></li>
    </ul>
</div>

上述使用使用多餘的div標簽現狀,就稱為“多div症”,理應簡化成下

 <ul class="nav">
       <li><a href="/home/">Home</a></li>
       <li><a href="/about/">About</a></li>
       <li><a href="/concact/">Concact</a></li>
 </ul>

   誤區二.多類class症  註意點class可以應用於頁面任意多個元素,非常適合標識內容類型或其他相似的條目

一段新聞(新聞標題、新聞詳情內容)

<h1 class="news-head">Elastic Layout Example—View Source for the HTML and CSS</h1>
<p class="news-head">Lorem ipsum dolor sit amet. 
	    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
	    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

上述類名使用news-head與news-text 就稱為"多類症"表現,不需要這麼多的類區分元素樣式 

最好使用div(division)代表部分而不是沒有語義(大多數人誤解div無語義!!!),實際上div可以將文檔劃分為幾個有意義的區域.

類名news從而識別整個新聞條目。然後可以使用層疊(cascade)樣式識別新聞標題、文本,理應修改如下

<div class="news">
	<h1>Elastic Layout Example—View Source for the HTML and CSS</h1>
	<p>Lorem ipsum dolor sit amet. 
	    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
	    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>	

span 對行內元素進行分組或標識

<h2> Andy wins an Oscar for his cameo in Iron Man</h2>
<p>Public and on <span class="date">Februray 22nd, 2009</span>
	By <span class="author">Harry Knowles</span>
</p>

   誤區三.id使用誤區 用於標識頁面上特定元素(比如站點導航、頁眉、頁腳)而且必須唯一; 也可以用來標識持久結構性元素(如主導航、內容區域)

/*大量的使用id,很難找到唯一名稱混亂*/
#andy, #rich, #jeremy, #james-box, #sophie {
	font-size: 1em;
	font-weight: bold;
	border: 1px solid #ccc;
}
/*只需一個普通類替代它*/
.staff {
	font-size: 1em;
	font-weight: bold;
	border: 1px solid #ccc;
}

用於標識頁面上特定元素(比如站點導航、頁眉、頁腳)而且必須唯一; 也可以用來標識持久結構性元素(如主導航、內容區域)

作者:Avenstar

出處:http://www.cnblogs.com/zjf-1992/p/6258135.html

關於作者:專註於WEB前端開發、喜歡閱讀

本文版權歸作者所有,轉載請標明原文鏈接。

如果覺得我的文章對您有用,請隨意打賞。您的支持將鼓勵我不斷的迭代!

支付寶

微信


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先為什麼要自己編寫Dockerfile來構建 nginx、php、mariadb這三個鏡像呢?一是希望更深入瞭解Dockerfile的使用,也就能初步瞭解docker鏡像是如何被構建的;二是希望將來可以定製自己的images,特別是能針對不同的系統環境與目標需求適當對鏡像進行調整改進。在編輯Doc... ...
  • Chatper 5 原型模式 核心思想是一個對象可以生成與自身相似的其他對象。 基類Monster,有一個抽象方法clone: 1 class Monster 2 { 3 public: 4 5 virtual ~Monster() {} 6 virtual Monster* clone() = 0 ...
  • 本文地址 分享提綱: 1. 概述 2. 知識點 1.概述 1)【書名及鏈接】 《大型網站技術架構 核心原理與案例分析》 2)【主要內容】 由李智慧著作的《大型網站技術架構(核心原理與案例分析)》通過梳理大型網站技術發展歷程,剖析大型網站技術架構模式,深入講述大型互聯網架構設計的核心原理,並通過一組典 ...
  • 隨著 RESTful、雲計算、DevOps、持續交付等概念的深入人心,微服務架構逐漸成為系統架構的一個代名詞。本文從理論出發,介紹微服務架構的概念、本質特征及優缺點,並與當前普遍的單塊(三層)架構進行全方面對比,讓你對微服務架構有很好的認知。 ...
  • 架構設計總為業務而服務,並非技術而技術;而業務現狀和公司的要求往往是讓架構設計最為糾結和取捨的,特別是考慮人員,資源,成本等各方面的限制,選擇一個可行的方案。雲服務化是公司總體堅定的業務方向,基礎架構的沉澱和分散式的開發避無可避(而非傳統業務代碼拷貝到外網伺服器上就是雲服務了)。架構設計首先會以架構... ...
  • 單例模式 代碼: 第一種: 第二種: 上面兩種單例模式中,基本思路相同,將構造方法私有,建立私有的實例對象,提供公有的對象。第一種方法,外部每次調用時都會判斷實例是否已經創建,第二種方法則是在一開始就將類的對象實例化好了,一直存在在記憶體中。區別也不大,單例的思想也就這麼簡單。這裡要說的是下麵這種方法 ...
  • 六、新建webpack配置文件 webpack.config.js 文件整體框架內容如下,後續會詳細說明每個配置項的配置 webpack.config.js直接放在項目demo目錄下 七、新建app文件夾,存放html+css+js index.html css/index.css js/index ...
  • 嗯,瀏覽器一般會設置,預設樣式,對於,我們來說,這樣很不方便,所以就有了樣式重置。 接下來我推薦兩個樣式重置的 小東西 resert 我這裡附上當前最新的版本,如有需要可以直接去,resert.com,下載 normalize.com 我推薦使用這個,因為還保留了某些標簽的特性,比如h1,h2,h3 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...