亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

標記語言——精簡標簽

2024-08-26 00:08:48
字體:
來源:轉載
供稿:網友

 網頁設計 html教程 欄目.

上文:標記語言——再談清單

原文出處

chapter 9 精簡標簽

先前我們不斷提到結構化內容能夠把結構與設計細節分類并精簡標簽,該怎么做呢?我們可以使用符合標準的xhtml與css代替表格,圖片制作我們所需要的版面.

使用標準技術制作網站(特別是十分依賴css的網站)的時候,我們常常會養成一個不太好的習慣,就是加上多余的標簽和class屬性,技術完全不需要它們.

通過在css中使用集成選擇器(descendant selectors),我們就能消除多余的<div>,<span>與分類屬性.精簡標簽代表頁面將能讀取得更快,同時更容易維護,在這一章中,我們會討論幾個完成這項任務的簡單做法.

以標準技術制作網站時,如何精簡標簽?

精簡標簽是個值得討論的重要話題,制作網站時,用合法的xhtml書寫,用css設定展示效果能得到的巨大好處之一,就是精簡標簽.簡短的代碼代表著下載速度加快,對于使用56k撥號上網的用戶來說,這絕對是關鍵,簡短的代碼也代表服務器空間需求,帶寬消耗減少,這能讓老板,系統管理者開心.

問題在于,單純的確定頁面符合w3c標準規范并不代表內容所使用的代碼會縮短,你當然能為符合標準的標記內容加上各種不需要的標簽,沒錯,他的確符合標準,但可能為了讓設計css的時候方便一點,加了不少多余的代碼.

別怕!這邊有些技巧,讓你能設計出簡潔,有符合標準的標記內容,但也同時保留足夠的css樣式控制能力.接著讓我們學習幾個精簡標簽的簡單技巧.

繼承選擇器

在這里我們要看看兩種在個人網站標記側邊欄(包括信息,鏈接和其他東西)的做法.把所有好東西塞進一個id是"sidebar"的<div>里,以便稍后把它放到瀏覽器視窗中的某一處(第二部分將會討論css布局 / 排版功能).

方法a:高興的分類

<div id="sidebar">

  <h3 class="sideheading">about this site</h3>

  <p>this is my site.</p>

  <h3 class="sideheading">my links</h3>

  <ul class="sidelinks">

    <li class="link"><a href="archives.html">archives</a></li>

    <li class="link"><a href="about.html">about me</a></li>

  </ul>

</div>

我在許多網站上看過類似方法a的標記內容,在設計者剛發現css的威力的時候,很容易感動過頭,為每個想要制定特殊樣式的標簽指定class.

以前面這個例子來說,或許我們認為<h3>指定class=sideheading是為了幫助它們指定與頁面之內其他標題不同的樣式;為<ul>和<li>指定class也是為了同樣的理由.

分類css

指定樣式時,假設我們想讓標題變成橘色,使用serif字體,底部加上淺灰色邊線,而"sidelinks"無序清單則要把小圓點符號去掉,清單項目改為粗體.

方法a需要的css內容看起來會像這樣:

.sideheading {

  font-family: georgia, serif;

  color: #c63;

  border-bottom: 1px solid #ccc;

  }

.sidelinks {

  list-style-type: none;

  }

.link {

  font-weight: bold;

  }

我們能參照標記內制定的分類名稱(class),為這些標簽指定特殊樣式,你甚至能想象頁面的其他部分也照這個方式組織: 導航條,頁尾與內容區,每個標簽都加上了雜亂的分類,以便對它們有完全控制權.

沒錯,它的確能運作,但是有個簡單的做法能夠節省這些分類屬性(class),同時讓你的css更容易閱讀,更具組織性,接著看方法b.

方法b:自然的選擇

<div id="sidebar">

  <h3>about this site</h3>

  <p>this is my site.</p>

  <h3>my links</h3>

  <ul>

    <li><a href="archives.html">archives</a></li>

    <li><a href="about.html">about me</a></li>

  </ul>

</div>

方法b短小精悍!但是等等,分類都到哪里去了?恩...你很快就會發現我們其實并不是真的需要它們,主要是因為我們把這些標簽都塞進一個具有惟一名稱(本例是sidebar)的<div>的關系.

這就是發揮繼承選擇器作用的地方了.我們只需要直接以標簽名稱指定位于sidebar之內的標簽,就能去掉這些多余的分類屬性.

以內容前后關系指定css

讓我們看看與方法a相同的樣式,但是這次我們用繼承選擇器指定位于sidebar里的標簽.

#sidebar h3 {

  font-family: georgia, serif;

  color: #c63;

  border-bottom: 1px solid #ccc;

  }



#sidebar ul {

  list-style-type: none;

  }



#sidebar li {

  font-weight: bold;

  }

通過參考 #sidebar id,就能為包含在其中的標簽指定特殊樣式,舉例來說,只有位于<div id="sidebar">之內的<h3>標簽會設定上述的css規則.

這種根據內容前后關系指定樣式的做法是縮短標記內容的關鍵.通常在為內容設計好語義結構之后,就不必為標簽加上分類屬性了.

不止用在側邊欄

我們只展示了頁面的一個段落(就是側邊欄),不過這個做法可以應用到整個頁面結構上,只要將標記內容依照邏輯分成幾個段落(或許是#nav,#content,#sidebar,#footer),然后以繼承選擇器為這個段落內的標簽分別制定特殊樣式就可以了.

舉例來說,假設在頁面內的#content與#sidebar段落內都用了<h3>標簽,并且希望它們都使用serif字體,然而,你希望其中一個段落的<h3>以紫色顯示,另一個則是橘色.

這是不需要修改任何標簽,加上分類屬性.我們可以通過一個全局樣式指定所有<h3>標簽共用的規則,然后用繼承選擇器根據標簽的位置設定顏色.

h3 {

  font-family: georgia, serif; /* all h3s to be serif */

  }

#content h3 {

  color: purple;

  }

#sidebar h3 {

  color: orange;

  }

指定所有<h3>標簽都使用senif字體,而顏色必須根據內容上下文關系選擇使用紫色或是橘色,此時我們不需要重復共享規則(這個例子中是font-family),因此能縮短css的內容,同時防止多個聲明內出現重復的規則.

我們不僅能減少class屬性需要的額外的標記空間,同時css結構也變得更具意義,讓我們更容易閱讀它的內容,更容易依照頁面分段進行組織,修改特定的規則也變得很簡單,對龐大,復雜的排版來說特別明顯,因為這時你可能會同時擁有上百條css規則.

舉例來說,在這個例子中,如果把共享規則加到每個聲明中,而稍后想把所有<h3>換成sans serif字體的話,就得修改三個地方,沒辦法一次搞定.

越少分類越好維護

除了減少需要使用的源代碼空間之外,用繼承選擇器代替多余分類還代表了標記內容未來易于擴展.

舉例來說,讓我們假設你想讓sidebar之內的鏈接變成紅色,而不是像頁面的其余部分那樣使用藍色,因此你建立了一個red類,像這樣加到錨點標簽中:

<div id="sidebar">

  <h3>about this site</h3>

  <p>this is my site.</p>

  <h3>my links</h3>

  <ul>

    <li><a href="archives.html" class="red">archives</a></li>

    <li><a href="about.html" class="red">about me</a></li>

  </ul>

</div>

而把這些鏈接變成紅色(假設預設的鏈接顏色不是紅色)則需要類似這樣的css:

a:link.red {

  color: red;

  }

這些動作沒什么問題,也完全可以正常運作,但是如果未來你改變心意,想把這些鏈接換成綠色的話怎么辦?或者更實際一點,你的老板偶爾說了"今年紅色已經過時了,把這些側邊欄鏈接換成綠色"!沒問題,你只要修改css里的red類就搞定了,但是標記內容里的class屬性還是red,明顯這不完全符合語義,就跟使用其他顏色當作分類名稱一樣.

這不是個使用顯示效果當作分類名稱的好地方,但是完全不指定分類的話,我們能省去許多處理分類的精力(以及代碼),同時讓內容語義更合理,我們倒不如以繼承選擇器選擇這些側邊欄的鏈接,依照需要指定樣式.

標記內容和方法b完全相同,而設定側邊欄的鏈接所需的css將是這樣:

#sidebar li a:link {

  color: red;

  }

基本上,這代表"只有在<div id="sidebar">之內的<li>標簽里的使用了href屬性的錨點標簽應還顯示成紅色".

現在,我們維持了簡短靈活的標記內容,而未來更新只需要用到css,不管想讓鏈接變成紅色,綠色,粗體,斜體都沒問題.

接著,來看看另一個精簡標簽的做法:消除不必要的<div>標簽,直接取用現有的塊級標簽.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清一级大片| 在线观看日韩专区| 久久99精品视频一区97| 欧美国产日韩一区| 日韩欧美亚洲一二三区| 成人免费看吃奶视频网站| 国产成人精品久久二区二区91| 日韩电影在线观看永久视频免费网站| 欧美日韩在线另类| 揄拍成人国产精品视频| 日韩电影免费观看在线| 国产欧美在线看| 国产一区二区视频在线观看| 欧美日韩国产中文精品字幕自在自线| 91国偷自产一区二区三区的观看方式| 精品国产一区二区三区久久| 国产精品久久久久久久av大片| 精品国产一区二区三区久久狼5月| 另类视频在线观看| 91在线国产电影| 久久夜色精品国产亚洲aⅴ| 国产精品99久久久久久久久久久久| 精品爽片免费看久久| 亚洲综合在线中文字幕| 91免费精品国偷自产在线| 国产精品中文字幕在线观看| 亚洲激情小视频| 欧美与黑人午夜性猛交久久久| 欧美日韩午夜激情| 国产成人高清激情视频在线观看| 国产精品99一区| 欧美日韩一区二区免费视频| 77777少妇光屁股久久一区| 国产亚洲欧洲黄色| 亚洲精品电影网站| 久久精品美女视频网站| 久久久97精品| 欧美国产乱视频| 成人网欧美在线视频| 久久久爽爽爽美女图片| 超在线视频97| 国产有码一区二区| 日韩精品视频三区| 亚洲精品国偷自产在线99热| 亚洲国产99精品国自产| 中文字幕亚洲无线码在线一区| 欧美成人性生活| 欧美猛交ⅹxxx乱大交视频| 国产美女精彩久久| 91视频国产精品| 亚洲一区二区日本| 久久伊人91精品综合网站| 日韩电影中文字幕| 日本乱人伦a精品| 91久久久久久国产精品| 欧美日韩精品在线观看| 成人午夜两性视频| 国产福利成人在线| 精品视频9999| 91久久精品在线| 国产精品视频一区二区三区四| 日韩福利视频在线观看| 国产视频欧美视频| 精品久久中文字幕久久av| 日韩欧美高清在线视频| 亚洲一区二区三区在线免费观看| 国产欧美一区二区三区在线| 91成人免费观看网站| 伊人精品在线观看| 日本精品视频在线| 欧美主播福利视频| 欧美激情中文网| 91精品免费久久久久久久久| 一区二区在线视频| 久久资源免费视频| 欧美日韩国产精品一区二区三区四区| 91精品国产自产91精品| 亚洲精品成a人在线观看| 国产精品视频不卡| 国产成人精品在线观看| 在线激情影院一区| www.日本久久久久com.| 久久久久久高潮国产精品视| 国内揄拍国内精品少妇国语| 清纯唯美亚洲激情| 日韩成人av网址| 26uuu另类亚洲欧美日本一| 激情成人中文字幕| 欧美在线免费观看| 国产成人久久精品| 国产精品99久久久久久白浆小说| 国语自产偷拍精品视频偷| 欧美极品少妇与黑人| 国产成人久久精品| 日韩一中文字幕| 久久久久久久久久婷婷| 精品久久久久国产| 欧美日韩国产成人在线观看| 亚洲精品91美女久久久久久久| 欧美福利视频在线| 4388成人网| 欧美亚洲成人xxx| 久久久亚洲国产天美传媒修理工| 精品亚洲一区二区三区在线观看| 成人免费自拍视频| 国产第一区电影| 成人午夜两性视频| 欧美国产精品日韩| 欧美午夜宅男影院在线观看| www日韩中文字幕在线看| 国产成人精品久久| 亚洲国产毛片完整版| 91欧美激情另类亚洲| 国产精品丝袜视频| 亚洲精品电影网在线观看| 91黑丝高跟在线| 国产91成人video| 精品国产户外野外| 欧美与欧洲交xxxx免费观看| 日韩有码在线视频| 国产精品男人爽免费视频1| 欧美日韩国产二区| 97视频网站入口| 日韩激情片免费| 精品久久久久久久久久久| 91精品国产高清久久久久久| 日韩电影中文字幕在线观看| 最近2019中文字幕在线高清| 中文字幕亚洲欧美日韩在线不卡| 久久久免费观看| 国产精品网址在线| 97在线观看免费高清| 久久久亚洲精品视频| 欧美成人精品不卡视频在线观看| 欧洲亚洲免费在线| 国产丝袜一区二区三区免费视频| 92国产精品久久久久首页| 欧美午夜视频在线观看| 国产91在线播放九色快色| 欧美一级电影久久| 欧美午夜精品在线| 久久国产精品久久久久久| 成人国产亚洲精品a区天堂华泰| 奇米四色中文综合久久| 亚洲成人在线视频播放| 日韩欧中文字幕| 欧美国产日韩一区二区在线观看| 一区二区三区视频免费| 欧美高清视频一区二区| 亚洲伊人久久综合| 国产精品v日韩精品| 亚洲一品av免费观看| 亚洲乱码国产乱码精品精天堂| 亚洲欧美日韩国产成人| 国产主播精品在线| 国产精品丝袜视频| 久久久亚洲精选| 青青草99啪国产免费| 欧美日韩国产丝袜另类| 亚洲第一中文字幕| 91sao在线观看国产| 日韩精品久久久久| 国产精品视频99| 69久久夜色精品国产69乱青草|