99亚洲_成人性视频免费网站_av在线播放网址_免费成人在线网站_亚洲综合婷婷_亚洲一区二区国产

訂閱本欄目 RSS您所在的位置: 深山工作室 > DIV+CSS > 正文

從空格談起--關(guān)于CSS模塊化設(shè)計(jì)

天極網(wǎng) 2007/12/23 19:29:02 深山行者 字體: 瀏覽 6257
一、空格運(yùn)算符

      (1)CSS語言

      簡(jiǎn)單地說,CSS語言類似JS語言,是通過客戶端下載后,通過本地瀏覽器解析。而CSS語言又是非常低級(jí)的“弱類型”語言,離JS這種基于對(duì)象的比較完善的“弱類型”語言,還差相當(dāng)一段距離。要知道CSS樣式是定義出來的,而樣式的呈現(xiàn)是根據(jù)文檔流順序和CSS優(yōu)先級(jí)別,瀏覽器自己識(shí)別計(jì)算后顯示出來的。而瀏覽器又有忽略和糾錯(cuò)功能(尤以IE為甚),所以樣式定義的語法有錯(cuò)誤,并不影響瀏覽器正常工作,只不過顯示不出應(yīng)有的效果罷了。在我們?cè)O(shè)計(jì)定義樣式的時(shí)候,排錯(cuò)是比較令人苦惱的,其本質(zhì)原因是于這種弱類型CSS語言本身的不嚴(yán)禁性有關(guān)系的,所以我們就更應(yīng)該注重CSS定義的嚴(yán)禁,才能出較少的錯(cuò)誤,較快更好的完成工作。

      (2)CSS的運(yùn)算符

      首先說,CSS語言的運(yùn)算符就不多,有.#{}:";還有一個(gè)非常重要的空格。這幾個(gè)運(yùn)算符,都是常用的定義聲明符號(hào)。而在CSS樣式定義中,空格就有點(diǎn)特殊,我們可以把它視為在.Net或Java中命名空間或類包定義中的 . 運(yùn)算符。換句話說,我們可以把空格視為路徑指向的箭頭,表明HTML標(biāo)簽的父子級(jí)別關(guān)系。CSS是與HTML想關(guān)聯(lián)的,也就是說,CSS的每一個(gè)定義都與“某個(gè)HTML標(biāo)簽”或“某段模塊化HTML代碼”相對(duì)應(yīng),而HTML可以調(diào)用多個(gè)樣式類。一個(gè)CSS樣式類可以根據(jù)HTML代碼來“復(fù)合定義”;一個(gè)HTML標(biāo)簽也可以“復(fù)合調(diào)用”多個(gè)樣式類。所以說,CSS樣式定義的復(fù)雜性與關(guān)聯(lián)的HTML是密不可分。

      (3)實(shí)例說明

以下是引用片段:
<style type="text/css">
td .b { 
       color:#00ff00; 
}
th.b {  
       color:#ff0000;
       font-family:黑體;
       font-size:20px;
}
.b {
       color:#0000ff;
       font-size:12px;
}
</style>
<table>
       <tr>
              
              <td><div class="b">第一個(gè)類b的類路徑是th .b</div></td> 
              <th class="b">第二個(gè)類b的類路徑是th.b</td>
              <td class="b">第三個(gè)類b的類路徑是 .b</th>
       </tr> 
</table>
<div class="b">第三個(gè)類b的類路徑是 .b</div>

      講解:

      1、第一個(gè)類b的類路徑是td .b,定義該HTML文檔內(nèi)所有的td標(biāo)簽內(nèi)的帶class="b"的標(biāo)簽的樣式 。

以下是引用片段:
td .b { 
       color:#00ff00; 
}

      定義的是<td><div class="b">text</div></td>這組代碼塊中的b類,class="b"是包含在td標(biāo)簽內(nèi)的,是td的子級(jí),所以在這里要用“空格”指向明確表明父子級(jí)別關(guān)系。

      2、第二個(gè)類b的類路徑是th.b,定義的是該HTML文檔內(nèi)所有的帶class="b"的th標(biāo)簽的樣式。

以下是引用片段:
th.b {  
       color: #FF0000
}

      定義的是<th class="b">text</td>,在這里的代碼中,th和class='b'是平級(jí)的,先th后.b組成一個(gè)同級(jí)類路徑th.b,所以沒有空格代表“HTML類”和“自定義類”具有同級(jí)路徑!

      3、第三個(gè)類b的類路徑是 .b,定義該HTML文檔內(nèi)所有的td標(biāo)簽的樣式,它是該文檔的一個(gè)全局樣式,是body .b的簡(jiǎn)寫。

以下是引用片段:
.b {
       color:#0000ff;
       font-size:12px;
}

      定義了<td class="b">第三個(gè)類b的類路徑是td.b</th>和<div class="b">第三個(gè)類b的類路徑是 .b</div>這兩處的b類沒有明確的路徑指向,優(yōu)先級(jí)別要比有明確路徑的低。

      4、大家可以看到,在HTML代碼中,同樣都是class="b",但是在CSS定義時(shí),采用的類路徑不同,作用就不同了。類路徑越完整,優(yōu)先級(jí)越高。在具體應(yīng)用的時(shí)候,我們可以,使用完整類路徑來定義某HTML代碼塊某一些特殊地方,做異化處理。例如本例表頭th的黑體字顯示效果。

      二、HTML中復(fù)合調(diào)用樣式類

      (1)在一個(gè)HTML標(biāo)簽內(nèi),可以復(fù)合調(diào)用多個(gè)樣式類,也是用空格做運(yùn)算符,復(fù)合類名總字符不能超過256。

      (2)示例:

以下是引用片段:
<style type="text/css">
.myTxt {
       font-size:50px;       
       font-family:Arial Black;
}
.txtRed {
       color:red; 
}
.txtOrange {
       colorrange;
}
.txtGreen {
       color:green;
}
.txtBlue {
       color:blue;
}
</style>
<ul>
       <li class="myTxt txtRed">123</li>
       <li class="myTxt txtOrange">Text</li>
       <li class="txtGreen">Text</li>
       <li class="myTxt txtBlue">Text</li>
</ul>

      (3)應(yīng)用:

      對(duì)于某些多數(shù)樣式屬性累同,僅有幾個(gè)不同樣式屬性的定義,可以用這個(gè)方法來縮寫。也可以在某個(gè)不改變某個(gè)通用樣式類的同時(shí),用HTML調(diào)用復(fù)合類,突出局部特例。

      三、CSS+HTML的模塊化設(shè)計(jì)

      (1)舉個(gè)簡(jiǎn)單例子:

      .classNameA .classNameB .classNameC 

      就是一個(gè)類包路徑,A包含B,B包含C. 意思就是,在A塊內(nèi)的全部HTML代碼(包括B塊、C塊),先應(yīng)用樣式classNameA; 然后,在B塊內(nèi)的全部HTML代碼(包括C塊),先應(yīng)用樣式classNameA,之后再先應(yīng)用樣式classNameB; 最后,在C塊內(nèi)的全部HTML代碼,先應(yīng)用樣式classNameA,再先應(yīng)用樣式classNameB,最后應(yīng)用樣式classNameB;

      (2)在樣式表中,關(guān)于類包的路徑,對(duì)于某些復(fù)雜的HMTL代碼,最后寫絕對(duì)路徑,就是每一個(gè)類名都不要拉下。這樣可讀性更強(qiáng),錯(cuò)誤率更小;當(dāng)然,寬容度就越低。

      例如

以下是引用片段:
<style type="text/css"> 
/*控制 li 的樣式*/ 
.a1 ul li { 
    color:red; 

/*控制class="a"的div塊內(nèi),全部連接 a 的樣式*/
.a1 a {
    font-size:20px;
}

/*控制class="a"的div塊內(nèi),一個(gè)一個(gè)為 class="mylink"的樣式*/
.a1 .myLink {
       font-size:12px;
}

/*控制 li 內(nèi)連接a的樣式*/
.a1 ul li a {
       font-size:40px;
}

/*控制名 li 內(nèi),一個(gè)為 class="mylink"的連接的樣式 */
.a1 ul li .myLink {
       font-size:60px;
       font-family:黑體;
}

/*b1樣式*/
.b1 {
      color:blue;
}
/*控制 li 內(nèi) b1 的樣式*/
.a1 ul li .b1 {
     color:green;
}
</style>

<div class="a1">
      <a href="#">linkText</a>
      <a href="#" class="myLink">titleText</a>
      <div class="b1">b11111111</div>
      <ul>
            <li>
                   <a href="#">titleText</a>
                   <div class="b1">nameCN</div>
            </li>
            <li>
                   <a href="#" class="myLink">titleText</a>
                   <div class="b1">nameCN<span class="c1">nameEN</span></div>
            </li>
            <li>titleText</li>
            <li>titleText</li>
            <li>titleText</li>
      </ul>
</div>

      樣式,按*.HTML從內(nèi)層到外層;按*.CSS上下文,從下文到上文;按內(nèi)聯(lián)樣式表上下文,從下文到上文;按內(nèi)嵌>內(nèi)聯(lián)>外聯(lián)的優(yōu)先級(jí);
疊加覆蓋計(jì)算最終顯示效果。

      CSS語句,嚴(yán)格說是JS代碼的一類,換句話說,CSS語句也是“弱類型”的,空格是一個(gè)“運(yùn)算符”,由于“弱類型”不嚴(yán)謹(jǐn),所以,沒有空格的時(shí)候,雖然不報(bào)錯(cuò),也有顯示效果,但那是按錯(cuò)誤邏輯運(yùn)算的,有時(shí)歪打正著,但確莫名其妙。再加上有很多滿足各瀏覽器的HACK語法,CSS語句就更加零亂不堪。所以,寫的時(shí)候,盡量在滿足寬容度的情況下,嚴(yán)禁一些。

相關(guān)閱讀
中南國際旅游公司
ASP.NET中Cookie編程的基礎(chǔ)知識(shí)
網(wǎng)站內(nèi)容中某個(gè)關(guān)鍵字相關(guān)右鍵菜單
常見顯示器尺寸與分辨率對(duì)照
靜態(tài)頁面在文本框中輸入數(shù)字,表格直接算出相應(yīng)的結(jié)果
uni-app開發(fā)的微信小程序在線支付
生成最新日期與時(shí)間選擇(年月日)下拉框
JavaScript技巧:讓網(wǎng)頁自動(dòng)穿上外套
共有0條關(guān)于《從空格談起--關(guān)于CSS模塊化設(shè)計(jì)》的評(píng)論
發(fā)表評(píng)論
正在加載評(píng)論......
返回頂部發(fā)表評(píng)論
呢 稱:
表 情:
內(nèi) 容:
評(píng)論內(nèi)容:不能超過 1000 字,需審核,請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。
驗(yàn)證碼: 驗(yàn)證碼 
網(wǎng)友評(píng)論聲明,請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。

您發(fā)布的評(píng)論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會(huì)、集體和公民的合法權(quán)益;
二、不得發(fā)布國家法律、法規(guī)明令禁止的內(nèi)容;互相尊重,對(duì)自己在本站的言論和行為負(fù)責(zé);
三、本站對(duì)您所發(fā)布內(nèi)容擁有處置權(quán)。

更多信息>>欄目類別選擇
百度小程序開發(fā)
微信小程序開發(fā)
微信公眾號(hào)開發(fā)
uni-app
asp函數(shù)庫
ASP
DIV+CSS
HTML
python
更多>>同類信息
jquery設(shè)置或獲取修改classname
利用css3.0寫出一個(gè)音樂播放的唱片碟盤的效果
利用css中的scale()實(shí)現(xiàn)放大縮小效果
利用background-color:#000000a8在背景顏色16進(jìn)制代碼之后加字母加上數(shù)字讓背景色透明
css背景使用base64編碼或者將base64編碼放在img圖片標(biāo)簽中
利用css3中的-webkit-font-smoothing把網(wǎng)頁文字的毛邊去掉
更多>>最新添加文章
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
Android移動(dòng)端自動(dòng)化測(cè)試:使用UIAutomatorViewer與Selenium定位元素
抖音直播音掛載小雪花 懂車帝小程序
javascript獲取瀏覽器指紋可以用來做投票
火狐Mozilla Firefox出現(xiàn):無法載入您的Firefox配置文件 它可能已經(jīng)丟失 或是無法訪問 問題解決集合處理辦法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
更多>>隨機(jī)抽取信息
總結(jié)一下with open()和open()的區(qū)別與使用方法
DIV+CSS實(shí)現(xiàn)內(nèi)容垂直居中的一個(gè)例子
了解CSS中em單位和px單位的區(qū)別
360500整站頁面設(shè)計(jì)
Asp得到當(dāng)月天數(shù)的函數(shù)方法
制作外貿(mào)企業(yè)英文網(wǎng)站存在的誤區(qū)查看與更改方法
主站蜘蛛池模板: 亚洲综合一区二区 | 久久99国产精品 | 成人免费小视频 | 免费成人在线观看视频 | se在线播放| 成人在线视频网站 | 人人九九精 | 欧美日韩高清 | 欧美三级视频 | 四虎免费在线播放 | 青青草免费在线 | 欧美视频在线播放 | 免费裸体无遮挡黄网站免费看 | 影音在线资源 | 亚洲第一视频 | 日本一级毛片免费看 | 中文字幕精品一区二区精品 | 超碰综合 | 天天综合天天做天天综合 | 久久综合九色综合欧美狠狠 | 国产精品久久久久久久久久新婚 | 在线永久免费观看黄网站 | 亚洲伦理一区二区 | 特级a做爰全过程片 | 91久久 | 成人免费xxxxx在线视频软件 | 中文久久 | 欧美日本韩国一区二区 | 久色视频在线观看 | 日本少妇bbbb爽爽bbb美 | 亚洲人免费视频 | 久久久国产精品视频 | 午夜专区 | 午夜欧美 | 久久懂色精品99综一区合 | 久久精品国产一区二区三区不卡 | 欧美色综合天天久久综合精品 | 亚洲视频免费观看 | 一本大道av日日躁夜夜躁 | 狠狠色噜噜狠狠狠8888米奇 | 精品久久中文字幕 |