亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

CSS

css經(jīng)典教程

時(shí)間:2024-06-10 15:44:26 CSS 我要投稿

css經(jīng)典教程

css經(jīng)典教程1

  有些習(xí)慣顯得尤為重要,今天與您分享六個(gè)CSS習(xí)慣。因?yàn)榱?xí)慣其實(shí)是會(huì)變的,所以只能寫“最近”的。這些習(xí)慣都跟技術(shù)無(wú)關(guān),如果不遵守,也不會(huì)出錯(cuò)。但是我覺得良好的習(xí)慣會(huì)體現(xiàn)一個(gè)人的素質(zhì)。 我們?cè)谥邢虼蠹医榻B過(guò)很多CSS經(jīng)驗(yàn)與技巧,這些東西都發(fā)布在/css/的文章中,相信對(duì)大家是有一些幫助與啟發(fā)的。有些習(xí)慣顯得尤為重要,今天與您分享六個(gè)CSS習(xí)慣。因?yàn)榱?xí)慣其實(shí)是會(huì)變的,所以只能寫“最近”的。這些習(xí)慣都跟技術(shù)無(wú)關(guān),如果不遵守,也不會(huì)出錯(cuò)。但是我覺得良好的習(xí)慣會(huì)體現(xiàn)一個(gè)人的素質(zhì)。

  一、用class_name方式寫類名。

  以前喜歡用class-name寫,不過(guò)好像兩樣也沒什么差別。但我比較反對(duì)用className寫類名,因?yàn)槭冀K對(duì)瀏覽器大小寫敏感的問(wèn)題抱有懷疑態(tài)度。但是id我會(huì)寫成駝峰式,理由見下一條。

  二、樣式都用class而不用id。

  有三個(gè)理由,一,id不可以重復(fù),所以用class的話,可以肆無(wú)忌憚的用無(wú)數(shù)次。二,id的優(yōu)先級(jí)太高,若是寫了一個(gè)#page_contenta{color:#f60},那你完蛋了,里面要改鏈接顏色,都必須加上#page_content才能越過(guò)這個(gè)優(yōu)先級(jí)。三,id專門留給JS用,這樣才符合表現(xiàn)與行為分離的原則。所以id我用駝峰式,也是為了體現(xiàn)這一點(diǎn)。

  三、margin和padding,盡量省略最后一個(gè)值。

  比如margin:20px10px5px10px;,左右值是一樣的,就應(yīng)該省略掉最后一個(gè)值,寫成margin:20px10px5px;這樣到時(shí)候要改左右間距,改一個(gè)就好,免得改漏了。其實(shí)這個(gè)問(wèn)題雖然很細(xì)小,但是可以看得出對(duì)margin四個(gè)值省略規(guī)則的熟練程度。

  四、按標(biāo)準(zhǔn)寫CSS,再針對(duì)特定瀏覽器作hack。

  比如,通常我們會(huì)遇到如下的寫法:

  .side_col{

  float:left;

  display:inline;

  margin-left:20px;

  }

  而我的寫法會(huì)是:

  .side_col{

  float:left;

  margin-left:20px;

  }

  *.side_col{

  _display:inline;/*hackedforIE6*/

  }

  看明白了么?不應(yīng)該把hack混在一起,也不應(yīng)該用一種僥幸的心態(tài),覺得float:left與display:inline寫在一起沒事。嗯,它們倆確實(shí)沒事兒,但是其他的hack就不一定了。而且這里寫display:inline純粹就是為了解決IE6的bug,所以前面加上下劃線,以明確的表達(dá)你的目的。

  另外不要以為凡是hack都是為IE準(zhǔn)備的。其實(shí)有些hack是針對(duì)其他瀏覽器的,比如FF。這就要求你對(duì)CSS標(biāo)準(zhǔn)的熟練掌握,能夠自信的判斷哪些渲染是遵守標(biāo)準(zhǔn),哪些違反標(biāo)準(zhǔn)的。

  此外,我喜歡在hack前面加上星號(hào),其實(shí)這純粹是個(gè)人習(xí)慣了。可能過(guò)段時(shí)間我就不這么用了,呵呵。

  五、記得加空格。

  .class_name{property:value;}。我個(gè)人覺得合理的空格是優(yōu)秀代碼的一個(gè)指標(biāo)。按英文的習(xí)慣,標(biāo)點(diǎn)后面都應(yīng)該帶空格(如果你寫Thisisapen.That’sapencil.句點(diǎn)后面不加空格,word里面會(huì)有錯(cuò)誤提示)。所以既然CSS是外國(guó)人發(fā)明的,應(yīng)該按他們的'格式來(lái)寫。類似的,在JS里vara=b c;里面的空格也應(yīng)該都要加。

  六、適當(dāng)?shù)膶盈B(Cascading)或縮進(jìn)以定義CSS的“作用域”。

  啥叫“CSS的作用域”?其實(shí)并不是所有的樣式都在所有的地方使用。有的樣式只用在某一塊里面,比如“導(dǎo)航欄”里的“搜索框”,可能應(yīng)該寫成:

  .nav.search{}

  而有時(shí)候用層疊會(huì)增加代碼優(yōu)先級(jí),所以也可以用縮進(jìn)來(lái)“象征性的”體現(xiàn)作用域。像這樣:

  .login_box{}

  .forgot_pwd{}

  縮進(jìn),是為了表示它們對(duì)應(yīng)的標(biāo)簽具有父子關(guān)系。但這樣只能起一個(gè)提醒的作用。

  CSS技巧在于不斷的總結(jié)與對(duì)編碼的理解,任何時(shí)候都是在不斷的完善的,有何經(jīng)驗(yàn)歡迎您來(lái)52CSS.com與我分享,也可以在W3Cbbs.com發(fā)貼,寫出您對(duì)CSS的心得體會(huì)。

css經(jīng)典教程2

  按照CSS規(guī)范,浮動(dòng)元素(floats)會(huì)被移出文檔流,不會(huì)影響到塊狀盒子的布局而只會(huì)影響內(nèi)聯(lián)盒子(通常是文本)的排列。因此當(dāng)其高度超出包含容器時(shí),一般父容器不會(huì)自動(dòng)伸長(zhǎng)以閉合浮動(dòng)元素。但是有時(shí)我們卻需要這種自動(dòng)閉合行為,具體如何處理呢?

  有一種做法就是在父容器內(nèi)再插入一個(gè)額外的標(biāo)簽,并令其清除浮動(dòng)(clear)以撐大父容器。這種方法瀏覽器兼容性好,沒有什么問(wèn)題,缺點(diǎn)就是需要額外的(而且通常是無(wú)語(yǔ)義的)標(biāo)簽,所以我個(gè)人不大喜歡。

  后來(lái)又有了一種新的方式,使用:after偽類動(dòng)態(tài)的嵌入一個(gè)用于清除浮動(dòng)的元素,這種方法和上一種原理一樣,不同的只是把這個(gè)額外的內(nèi)容用CSS生成,但考慮到IE不支持:after不得不做了不少的hack。這種方法兼容性一般,但經(jīng)過(guò)各種hack也可以應(yīng)付不同瀏覽器了,同時(shí)又可以保證html比較干凈,所以用得還是比較多的。

  再后來(lái)又有人發(fā)現(xiàn)將父容器的overflow設(shè)為除visible之外的.值就可以在標(biāo)準(zhǔn)兼容瀏覽器中閉合浮動(dòng)元素,IE自然又是不支持的,所以這種方法和上一種方法一樣都對(duì)IE做了不同處理(具體就是觸發(fā)layout),不同的就是overflow沒有:after偽類那么麻煩了,缺點(diǎn)也有,overflow可能會(huì)產(chǎn)生一些小沖突。

  在使用overflow之前還有過(guò)一種使用float的方法,就是讓父容器也浮動(dòng),這利用到了浮動(dòng)元素的一個(gè)特性――浮動(dòng)元素會(huì)閉合浮動(dòng)元素。這種方式在IE/Win和標(biāo)準(zhǔn)兼容瀏覽器中都有較好的效果,但缺點(diǎn)也很明顯――父容器未必想浮動(dòng)就浮動(dòng)的了,畢竟浮動(dòng)是一種比較特殊的行為,有時(shí)布局不允許其浮動(dòng)也很正常。使用float雖然在IE和標(biāo)準(zhǔn)兼容瀏覽器中都能閉合浮動(dòng)元素,但原理卻是不同的,IE/Win中float觸發(fā)了layout因而閉合了浮動(dòng),而在標(biāo)準(zhǔn)兼容瀏覽器中,float其實(shí)和上一種方法中的overflow原理一樣,產(chǎn)生了一個(gè)“塊級(jí)格式化范圍”――這是CSS規(guī)范中提到的一種現(xiàn)象,它往往具有某種獨(dú)立性,特性之一就是會(huì)自動(dòng)閉合內(nèi)部的浮動(dòng)元素。

  按照規(guī)范,以下類型的元素會(huì)產(chǎn)生一個(gè)塊級(jí)格式化范圍:

  ●浮動(dòng)元素,left或者right皆可。

  ●絕對(duì)定位的元素。

  ●inline-block元素,不過(guò)這個(gè)gecko目前不支持。

  ●table-cell類型元素,其實(shí)table,table-head-group,table-row什么的也都可以,還有inline-table(gecko不支持)也同樣,因?yàn)樗麄兌紩?huì)間接產(chǎn)生一個(gè)匿名的table-cell。

  ●overflow取值非visible的元素。

  所以,原來(lái)在標(biāo)準(zhǔn)兼容瀏覽器中我們也可以有這么多的方法閉合一個(gè)浮動(dòng)元素,而且只需要CSS,無(wú)需其他。順帶說(shuō)一下以上除了overflow,其余都有一個(gè)附加效果就是自動(dòng)收縮父容器寬度。

  而對(duì)于IE/Win,它有一套自己的體系,就是layout,具有l(wèi)ayout的元素會(huì)自動(dòng)閉合浮動(dòng)元素,再來(lái)看看觸發(fā)layout的CSS屬性,會(huì)發(fā)現(xiàn)和上面的塊級(jí)格式化范圍有很多類似之處:

  ●浮動(dòng)元素

  ●絕對(duì)定位元素

  ●display:inline-block

  ●zoom

  ●width/height

  ●overflow/overflow-x/overflow-y[IE7新增]

  ●max/min-width/height[IE7新增]

  以上來(lái)看IE中閉合浮動(dòng)元素的方法也不少,自然也都有其局限性,要么有附帶效果,要么使用的是非標(biāo)準(zhǔn)屬性(無(wú)法通過(guò)驗(yàn)證)。

  還要提一點(diǎn)的是display:inline-block,這個(gè)屬性對(duì)IE而言本身沒什么用,實(shí)際效果只是給一個(gè)元素暗地添加了layout,但是標(biāo)準(zhǔn)兼容瀏覽器是認(rèn)得這個(gè)屬性的,所以要不影響這些瀏覽器,需要將display設(shè)回默認(rèn)。這里IE有一個(gè)bug,如果先定義了display:inline-block,然后再將display設(shè)回block(這兩個(gè)display要先后放在兩個(gè)CSS聲明中才有效果),那么layout不會(huì)消失,同時(shí)也不會(huì)影響其他瀏覽器,所以目前來(lái)說(shuō),這也算一個(gè)不錯(cuò)的觸發(fā)layout的方法:

  .gainlayout{display:inline-block;}

  .gainlayout{display:block;}

  所以要跨瀏覽器閉合浮動(dòng)元素,可以選擇的方式還是很多的,如何搭配使用這些CSS屬性就要具體情況具體分析了,靈活應(yīng)用條件注釋也很有必要,要是實(shí)在不行我們回過(guò)頭來(lái)還有clear可以用嘛。

css經(jīng)典教程3

  CSS為定位和浮動(dòng)提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來(lái)通常需要使用多個(gè)表格才能完成的任務(wù)。

  定位的基本思想很簡(jiǎn)單,它允許你定義元素框相對(duì)于其正常位置應(yīng)該出現(xiàn)的位置,或者相對(duì)于父元素、另一個(gè)元素甚至瀏覽器窗口本身的位置。顯然,這個(gè)功能非常強(qiáng)大,也很讓人吃驚。要知道,用戶代理對(duì)CSS2中定位的支持遠(yuǎn)勝于對(duì)其它方面的支持,對(duì)此不應(yīng)感到奇怪。

  另一方面,CSS1中首次提出了浮動(dòng),它以Netscape在Web發(fā)展初期增加的一個(gè)功能為基礎(chǔ)。浮動(dòng)不完全是定位,不過(guò),它當(dāng)然也不是正常流布局。我們會(huì)在后面的章節(jié)中明確浮動(dòng)的含義。

  一切皆為框

  div、h1或p元素常常被稱為塊級(jí)元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span和strong等元素稱為“行內(nèi)元素”,這是因?yàn)樗鼈兊膬?nèi)容顯示在行中,即“行內(nèi)框”。

  您可以使用display屬性改變生成的框的類型。這意味著,通過(guò)將display屬性設(shè)置為block,可以讓行內(nèi)元素(比如元素)表現(xiàn)得像塊級(jí)元素一樣。還可以通過(guò)把display設(shè)置為none,讓生成的元素根本沒有框。這樣的話,該框及其所有內(nèi)容就不再顯示,不占用文檔中的空間。

  但是在一種情況下,即使沒有進(jìn)行顯式定義,也會(huì)創(chuàng)建塊級(jí)元素。這種情況發(fā)生在把一些文本添加到一個(gè)塊級(jí)元素(比如div)的開頭。即使沒有把這些文本定義為段落,它也會(huì)被當(dāng)作段落對(duì)待:

  sometext

  Somemoretext.

  在這種情況下,這個(gè)框稱為無(wú)名塊框,因?yàn)樗慌c專門定義的元素相關(guān)聯(lián)。

  塊級(jí)元素的文本行也會(huì)發(fā)生類似的情況。假設(shè)有一個(gè)包含三行文本的段落。每行文本形成一個(gè)無(wú)名框。無(wú)法直接對(duì)無(wú)名塊或行框應(yīng)用樣式,因?yàn)闆]有可以應(yīng)用樣式的地方(注意,行框和行內(nèi)框是兩個(gè)概念)。但是,這有助于理解在屏幕上看到的所有東西都形成某種框。

  CSS定位機(jī)制

  CSS有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。

  除非專門指定,否則所有框都在普通流中定位。也就是說(shuō),普通流中的元素的位置由元素在X(HTML)中的位置決定。

  塊級(jí)框從上到下一個(gè)接一個(gè)地排列,框之間的垂直距離是由框的'垂直外邊距計(jì)算出來(lái)。

  行內(nèi)框在一行中水平布置?梢允褂盟絻(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(LineBox),行框的高度總是足以容納它包含的所有行內(nèi)框。不過(guò),設(shè)置行高可以增加這個(gè)框的高度。

  在下面,我們會(huì)為您詳細(xì)講解相對(duì)定位、絕對(duì)定位和浮動(dòng)。

  CSSposition屬性

  通過(guò)使用position屬性,我們可以選擇4中不同類型的定位,這會(huì)影響元素框生成的方式。

  position屬性值的含義:

  static

  元素框正常生成。塊級(jí)元素生成一個(gè)矩形框,作為文檔流的一部分,行內(nèi)元素則會(huì)創(chuàng)建一個(gè)或多個(gè)行框,置于其父元素中。

  relative

  元素框偏移某個(gè)距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。

  absolute

  元素框從文檔流完全刪除,并相對(duì)于其包含塊定位。包含塊可能是文檔中的另一個(gè)元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像元素原來(lái)不存在一樣。元素定位后生成一個(gè)塊級(jí)框,而不論原來(lái)它在正常流中生成何種類型的框。

  fixed

  元素框的表現(xiàn)類似于將position設(shè)置為absolute,不過(guò)其包含塊是視窗本身。

  提示:相對(duì)定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬?duì)于它在普通流中的位置。

  CSS定位屬性

  CSS定位屬性允許你對(duì)元素進(jìn)行定位。

  屬性描述

  position把元素放置到一個(gè)靜態(tài)的、相對(duì)的、絕對(duì)的、或固定的位置中。

  top定義了一個(gè)定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。

  right定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。

  bottom定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。

  left定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。

  overflow設(shè)置當(dāng)元素的內(nèi)容溢出其區(qū)域時(shí)發(fā)生的事情。

  clip設(shè)置元素的形狀。元素被剪入這個(gè)形狀之中,然后顯示出來(lái)。

  vertical-align設(shè)置元素的垂直對(duì)齊方式。

  z-index設(shè)置元素的堆疊順序。

css經(jīng)典教程4

  一、white-space

  可以實(shí)現(xiàn)HTML中PRE標(biāo)簽的效果,以及單元格的noWrap效果。

  語(yǔ)法:

  white-space : normal | pre | nowrap

  取值:

  normal: 默認(rèn)值。默認(rèn)處理方式。文本自動(dòng)處理?yè)Q行。假如抵達(dá)容器邊界內(nèi)容會(huì)轉(zhuǎn)到下一行

  pre: 換行和其他空白字符都將受到保護(hù)。這個(gè)值需要IE6+或者 !DOCTYPE 聲明為 standards-compliant mode 支持。如果 !DOCTYPE 聲明沒有指定為 standards-compliant mode ,此屬性可以使用,但是不會(huì)發(fā)生作用。結(jié)果等同于 normal 。參閱 pre 對(duì)象

  nowrap: 強(qiáng)制在同一行內(nèi)顯示所有文本,直到文本結(jié)束或者遭遇 br 對(duì)象。參閱 noWrap 屬性

  說(shuō)明:

  設(shè)置或檢索對(duì)象內(nèi)空格字符的處理方式。

  空 格字符,像換行,空格,TAB,在HTML文檔中默認(rèn)的是被忽略的。當(dāng)此屬性設(shè)置為 normal 或者 nowrap 時(shí),你可以使用不換行空格的命名實(shí)體 來(lái)添加空格,用 br 元素來(lái)添加換行。此屬性對(duì)你使用文檔對(duì)象模型(DOM)操作的內(nèi)容的影響與其對(duì)IE顯示內(nèi)容的影響一樣。

  此屬性作用于塊對(duì)象。

  相關(guān)樣式:

  text-overflow

  將它與white-space結(jié)合使用就不用再寫程序來(lái)判斷字符串長(zhǎng)度了,點(diǎn)此查看示例。

  語(yǔ)法:

  text-overflow : clip | ellipsis

  取值:

  clip:默認(rèn)值。不顯示省略標(biāo)記(…),而是簡(jiǎn)單的裁切

  ellipsis:當(dāng)對(duì)象內(nèi)文本溢出時(shí)顯示省略標(biāo)記(…)

  說(shuō)明:

  設(shè)置或檢索是否使用一個(gè)省略標(biāo)記(…)標(biāo)示對(duì)象內(nèi)文本的溢出。

  這個(gè)屬性僅僅作用于水平內(nèi)聯(lián)方向的`,普通的西方文本的溢出。內(nèi)聯(lián)溢出發(fā)生在行內(nèi)的文本超出可用寬度卻沒有換行機(jī)會(huì)的時(shí)候。

  要強(qiáng)制溢出發(fā)生并且應(yīng)用 ellipsis 值,作者必須設(shè)置對(duì)象的 white-space 屬性值為 nowrap 。

  假如沒有換行機(jī)會(huì)(例如,對(duì)象容器的寬度是狹窄的,而內(nèi)有很長(zhǎng)的沒有合理斷行的文本),沒有應(yīng)用 nowrap 也有可能溢出。

  為了使 ellipsis 值被應(yīng)用,此屬性必須被設(shè)置到具有不可視區(qū)域的對(duì)象。最好的選擇是設(shè)置 overflow 屬性為 hidden 。設(shè)置 overflow 屬性為 scroll 或者 auto 時(shí),此屬性也會(huì)應(yīng)用。但是會(huì)有滾動(dòng)條出現(xiàn)。

  通過(guò)選擇省略標(biāo)記,隱藏的文本可以被選擇。當(dāng)選擇發(fā)生時(shí),省略標(biāo)記會(huì)隱藏而被文本替換。

  此屬性為在DHTML中制作省略標(biāo)記提供了高效的方法。

  二、word-break

  最常用的控制換行屬性,常與下面的word-wrap結(jié)合使用。

  語(yǔ)法:

  word-break : normal | break-all | keep-all

  取值:

  normal: 默認(rèn)值。允許在詞間換行

  break-all:該行為與亞洲語(yǔ)言的 normal 相同。也允許非亞洲語(yǔ)言文本行的任意字內(nèi)斷開。該值適合包含一些非亞洲文本的亞洲文本

  keep-all:與所有非亞洲語(yǔ)言的 normal 相同。對(duì)于中文,韓文,日文,不允許字?jǐn)嚅_。適合包含少量亞洲文本的非亞洲文本

  說(shuō)明:

  設(shè)置或檢索對(duì)象內(nèi)文本的字內(nèi)換行行為。尤其在出現(xiàn)多種語(yǔ)言時(shí)。

  對(duì)于中文,應(yīng)該使用 break-all 。

  三、word-wrap

  如果你設(shè)計(jì)的網(wǎng)頁(yè)不是自適應(yīng)寬度的話,需要將它設(shè)置為break-word,否則可能出現(xiàn)版快錯(cuò)開的情況。

  語(yǔ)法:

  word-wrap : normal | break-word

  取值:

  normal:默認(rèn)值。允許內(nèi)容頂開指定的容器邊界

  break-word:內(nèi)容將在邊界內(nèi)換行。如果需要,詞內(nèi)換行( word-break )也將發(fā)生

  說(shuō)明:

  設(shè)置或檢索當(dāng)當(dāng)前行超過(guò)指定容器的邊界時(shí)是否斷開轉(zhuǎn)行。

  此屬性僅作用于有布局的對(duì)象,如塊對(duì)象。內(nèi)聯(lián)要素要使用該屬性,必須先設(shè)定對(duì)象的 height 或 width 屬性,或者設(shè)定 position 屬性為 absolute ,或者設(shè)定 display 屬性為 block 。

  四、overflow,overflow-x,overflow-y

  這個(gè)不是嚴(yán)格意思上的控制換行樣式,但在某些時(shí)候?qū)⑺O(shè)置為hidden可以補(bǔ)充word-wrap的不足,比方你想在限制寬度里僅顯示一行文字,而這行文 字的長(zhǎng)度卻超過(guò)這個(gè)寬度,結(jié)合white-space+text-overflow可以達(dá)到更好的效果。

  語(yǔ)法:

  overflow : visible | auto | hidden | scroll

  取值:

  visible: 默認(rèn)值。不剪切內(nèi)容也不添加滾動(dòng)條。假如顯式聲明此默認(rèn)值,對(duì)象將以包含對(duì)象的 window 或 frame 的尺寸裁切。并且 clip 屬性設(shè)置將失效

  auto:在必需時(shí)對(duì)象內(nèi)容才會(huì)被裁切或顯示滾動(dòng)條

  hidden:不顯示超過(guò)對(duì)象尺寸的內(nèi)容

  scroll:總是顯示滾動(dòng)條

  說(shuō)明:

  檢索或設(shè)置當(dāng)對(duì)象的內(nèi)容超過(guò)其指定高度及寬度時(shí)如何管理內(nèi)容。

  所有對(duì)象的默認(rèn)值是 visible ,除了 textarea 對(duì)象和 body 對(duì)象的默認(rèn)值是 auto 。設(shè)置 textarea 對(duì)象此屬性值為 hidden 將隱藏其滾動(dòng)條。

  對(duì)于 table 來(lái)說(shuō),假如 table-layout 屬性設(shè)置為 fixed ,則 td 對(duì)象支持帶有默認(rèn)值為 hidden 的 overflow 屬性。如果設(shè)為 scroll 或者 auto ,那么超出 td 尺寸的內(nèi)容將被剪切。如果設(shè)為 visible ,將導(dǎo)致額外的文本溢出到右邊或左邊(視 direction 屬性設(shè)置而定)的單元格。

  自IE5開始,此屬性在MAC平臺(tái)上可用。

  自IE6開始,當(dāng)你使用 !DOCTYPE 聲明指定了 standards-compliant 模式,此屬性可以應(yīng)用于 html 對(duì)象。

css經(jīng)典教程5

  一般說(shuō)來(lái)如果某個(gè)子元素使用了浮動(dòng)(float),那父元素總是不能確切地知道子元素是在什么位置結(jié)束的,所以父元素的下邊框總是從子元素的中間甚至是頂部穿過(guò),看起來(lái)很不舒服。

  最近兩個(gè)月斷斷續(xù)續(xù)做了好幾個(gè)網(wǎng)站的美工,做的過(guò)程中對(duì)DIV Css的標(biāo)準(zhǔn)開發(fā)有了進(jìn)一步的了解。有兩點(diǎn)收獲最大,一是徹底弄懂了CSS的盒子模式(Box Model),再一個(gè)就是搞定了困擾我很久的“閉合浮動(dòng)元素”的問(wèn)題:

  一般說(shuō)來(lái)如果某個(gè)子元素使用了浮動(dòng)(float),那父元素總是不能確切地知道子元素是在什么位置結(jié)束的,所以父元素的下邊框總是從子元素的中間甚至是頂部穿過(guò),看起來(lái)很不舒服。

  最早時(shí)我都是在子元素結(jié)束后單獨(dú)加個(gè)

  或

  將其屬性設(shè)置為“clear:all;”,但這樣一來(lái)就需要生成不少?zèng)]用的空標(biāo)簽,甚至有些網(wǎng)站需要修改ASP代碼以自動(dòng)添加這些空標(biāo)簽,只能算是下策。

  后來(lái)發(fā)現(xiàn)當(dāng)父標(biāo)簽也設(shè)置為浮動(dòng)(float)時(shí)就可以在正確的位置閉合了,所以就把父容易也浮動(dòng)起來(lái),這樣一來(lái)很多ASP代碼就不需要改了,遇到需要添加含Clear屬性的空標(biāo)簽時(shí)如果不能從模板中添加,而需要從ASP代碼中添加時(shí),就不需要改ASP代碼了,只需要把父容器設(shè)為浮動(dòng),如果還需要改ASP,那就再把父容器的父容器設(shè)為浮動(dòng),一層層地浮動(dòng)上去,總能解決問(wèn)題的.。這雖然能省不少事,但很容易造成整個(gè)頁(yè)面中全是浮動(dòng)元素,-_-!!!也只能算是中策而已。

  再后來(lái),在網(wǎng)上搜索別的東西時(shí)偶然發(fā)現(xiàn)有人說(shuō)只要在父容器的CSS屬性中加上以下兩個(gè)屬性就可以搞定了:

  overflow: auto;

  _height: 1%;

  試了一下,果然好用,這么一來(lái),這在目前應(yīng)該算是解決這一問(wèn)題的上策了:不需要對(duì)頁(yè)面做任務(wù)修改,也基本上不需要對(duì)父容器--甚至是父容器的父容器做什么改動(dòng),只給父容器添加兩個(gè)無(wú)所謂的屬性就搞定了。

css經(jīng)典教程6

  (1)頁(yè)面結(jié)構(gòu)類

  容器: container

  頁(yè)頭:header

  內(nèi)容:content/container

  頁(yè)面主體:main

  頁(yè)尾:footer

  導(dǎo)航:nav

  側(cè)欄:sidebar

  欄目:column

  頁(yè)面外圍控制整體布局寬度:wrapper

  (2)導(dǎo)航類

  導(dǎo)航:nav

  主導(dǎo)航:mainnav

  子導(dǎo)航:subnav

  頂導(dǎo)航:topnav

  邊導(dǎo)航:sidebar

  左導(dǎo)航:leftsidebar

  右導(dǎo)航:rightsidebar

  位置導(dǎo)航: crumb

  菜單:menu

  子菜單:submenu

  面包屑:breadcrumb(即頁(yè)面所處位置導(dǎo)航提示)

  (3)網(wǎng)頁(yè)內(nèi)容類

  標(biāo)題: title

  摘要: summary

  箭頭: arrow

  商標(biāo): label

  網(wǎng)站標(biāo)志: logo

  轉(zhuǎn)角/圓角: corner

  橫幅廣告: banner

  欄目: column

  子菜單: subMenu

  搜索: search

  搜索框: searchBox

  登錄: login

  工具條: toolbar

  下拉: drop

  標(biāo)簽頁(yè): tab

  當(dāng)前的: current

  列表: list

  滾動(dòng): scroll

  服務(wù): service

  提示信息: msg

  新聞: news

  小技巧: tips

  下載: download

  欄目標(biāo)題: title

  熱點(diǎn): hot

  加入: joinus

  注冊(cè): regsiter

  指南: guide

  友情鏈接: friendlink

  狀態(tài): status

  版權(quán): copyright

  按鈕: btn

  合作伙伴: partner

  投票: vote

css經(jīng)典教程7

  nettuts帶來(lái)的5個(gè)css書寫技巧,簡(jiǎn)單翻譯一下它的中心思想。

  1. CSS Reset/重置

  你也許需要先了解什么是css重置。然后怎么樣寫css重置呢。

  你可以copy Eric Meyer Reset, YUI Reset或其它c(diǎn)ss reset, 但你接下來(lái)應(yīng)該根據(jù)你的項(xiàng)目改成你自己的reset.

  不要使用* { margin: 0; padding: 0; } 。我個(gè)人很愛用,原作者提到使用這句并不適用一些元素比如單選按鈕。不過(guò)俺博客里面也沒有單選按鈕,如果有,又重新給單選按鈕重設(shè)就好了嘛。

  2. 按字母順序來(lái)排列css

  不按字母順序排的`

  div#header h1 {

  z-index: 101;

  color: #000;

  position: relative;

  line-height: 24px;

  margin-right: 48px;

  border-bottom: 1px solid #dedede;

  font-size: 18px;

  }

  按字母順序排的

  div#header h1 {

  border-bottom: 1px solid #dedede;

  color: #000;

  font-size: 18px;

  line-height: 24px;

  margin-right: 48px;

  position: relative;

  z-index: 101;

  }

  理由是這樣可以更好的找到某個(gè)屬性。個(gè)人覺得還好,差別也不是太大。不過(guò)也許會(huì)適合你。

  3. 更好的組織css結(jié)構(gòu)

  使用css注釋來(lái)分給css分組,這樣結(jié)構(gòu)明了,也有利于協(xié)同設(shè)計(jì)。

  /*****Reset*****/

  xxxxxxx{xxxxx}

  xxxxx{xxxxx}

  /*****layouts*****/

  xxxxxxx{xxxxx}

  xxxxx{xxxxx}

  4. 保持一致性

  不要無(wú)意義的去討論到底一個(gè)選擇器的所有屬性寫在一行,還是每個(gè)屬性寫一行比較好。你自己覺得ok就好。

  iv#header { float: left; width: 100%; }

  div#header div.column {

  border-right: 1px solid #ccc;

  float: rightright;

  margin-right: 50px;

  padding: 10px;

  width: 300px;

  }

  div#header h1 { float: left; position: relative; width: 250px; }

  比如我個(gè)人就喜歡寫在一行,因?yàn)槊颗艑懸恍袝?huì)讓整個(gè)文檔感覺太長(zhǎng)了,找起來(lái)不方便。如果你喜歡寫一行,但是發(fā)給team的另一個(gè),他卻喜歡每排一行,那怎么辦?其實(shí)很簡(jiǎn)單,把css拿去w3c驗(yàn)證,它會(huì)有一份結(jié)果,會(huì)自動(dòng)轉(zhuǎn)換成每排一行。

  5. 先標(biāo)記后css

  這個(gè)我沒有太看懂。大概理解是對(duì)html的標(biāo)記弄好后再寫css會(huì)比較不容易出錯(cuò)。比如我寫一個(gè)頁(yè)面,先寫一個(gè)最基本的標(biāo)記結(jié)構(gòu)

  !<--end footer--="">

  然后就是盡量善用子選擇器,而不是一要給哪個(gè)元素進(jìn)行樣式化,就給它添加個(gè)選擇器。

css經(jīng)典教程8

  上節(jié)課我們講了一下CSS通過(guò)什么方式去控制頁(yè)面,如果不記得,我來(lái)幫大家回憶一下,總共有四種方式行內(nèi)方式、內(nèi)嵌方式、鏈接方式、導(dǎo)入方式,大家通過(guò)這四種方式就可以實(shí)現(xiàn)CSS對(duì)HTML頁(yè)面樣式的控制,如果要讓這些樣式對(duì)HTML頁(yè)面中的元素實(shí)現(xiàn)一對(duì)一,一對(duì)多或者多對(duì)一的控制,這就需要用到CSS選擇器,HTML頁(yè)面中的元素就是通過(guò)CSS選擇器進(jìn)行控制的。

  CSS選擇器共有三種:標(biāo)簽選擇器、ID選擇器、類選擇器。

  為了后面的對(duì)選擇器的解釋更容易理解,在這里先打個(gè)比喻,如果把你所處的環(huán)境視為HTML頁(yè)面的話,環(huán)境里的每一個(gè)人則相當(dāng)于HTML頁(yè)面內(nèi)標(biāo)簽元素,每個(gè)人都有一個(gè)ID(身份證),那么html中的每一個(gè)標(biāo)簽也都有自己的ID,大家都知道ID是唯一的,不可能重復(fù)。

  【標(biāo)簽選擇器】

  一個(gè)完整的HTML頁(yè)面是有很多不同的標(biāo)簽組成,而標(biāo)簽選擇器,則是決定哪些標(biāo)簽采用相應(yīng)的CSS樣式,(在大環(huán)境中你可能出于不同的位置,但是不管怎么樣,你總是穿著同一套衣服,這件衣服就是由標(biāo)簽選擇器事先給你限定好的,不管走到哪里都是這身衣服)比如,在style.css文件中對(duì)p標(biāo)簽樣式的聲明如下:

  p{

  font-size:12px;

  background:#900;

  color:090;

  }

  則頁(yè)面中所有p標(biāo)簽的背景都是#900(紅色),文字大小均是12px,顏色為#090(綠色),這在后期維護(hù)中,如果想改變整個(gè)網(wǎng)站中p標(biāo)簽背景的顏色,只需要修改background屬性就可以了,就這么容易!

  【ID選擇器】

  ID選擇器在某一個(gè)HTML頁(yè)面中只能使用一次(當(dāng)然也可以用好幾次,不過(guò)就不符合W3C標(biāo)準(zhǔn)了,那頁(yè)面也就不是標(biāo)準(zhǔn)頁(yè)面嘍~,咱們的目的不就是為了做標(biāo)準(zhǔn)的頁(yè)面么,所以建議大家不要在同一個(gè)html頁(yè)面中多個(gè)標(biāo)簽擁有共同的ID),就像在你所處的環(huán)境中,你只有一個(gè)ID(身份證),不可能重復(fù)!相信大家也能看出來(lái),ID選擇器更具有針對(duì)性,如:

  先給某個(gè)HTML頁(yè)面中的某個(gè)p標(biāo)簽起個(gè)ID,代碼如下:

  此處為p標(biāo)簽內(nèi)的文字

  在CSS中定義ID為one的p標(biāo)簽的屬性,就需要用到#,代碼如下:

  #one{

  font-size:12px;

  background:#900;

  color:090;

  }

  這樣頁(yè)面中的某個(gè)p就會(huì)是CSS中定義的樣式。

  【類選擇器】

  這種選擇器更容易理解了,就是使頁(yè)面中的某些標(biāo)簽(可以是不同的標(biāo)簽)具有相同的樣式,就像國(guó)慶中某個(gè)方陣中,肯定都是不同的人,卻均穿紅色衣服,手中高舉花環(huán),樣式都是一樣的,如果想讓這一類人都有共同的樣式,該怎么做呢~呵呵,和ID選擇器的用法類似,只不過(guò)把id換做class,如下:

  此處為p標(biāo)簽內(nèi)的'文字

  如果我還想讓div標(biāo)簽也有相同的樣式,怎么辦呢?加上同樣的class就可以了,如下

  此處為p標(biāo)簽內(nèi)的文字

  這樣頁(yè)面中凡是加上class="one"的標(biāo)簽,樣式都是一樣的嘍~CSS定義的時(shí)候和ID選擇器差不多,只不過(guò)把#換成.,如下

  .one{

  font-size:12px;

  background:#900;

  color:090;

  }

  補(bǔ)充:一個(gè)標(biāo)簽可以有多個(gè)類選擇器的值,不同的值用空格分開,如:

  此處為p標(biāo)簽內(nèi)的文字

  這樣我們可以將多個(gè)樣式用到同一個(gè)標(biāo)簽中,當(dāng)然也可以,ID和class一塊用

  此處為p標(biāo)簽內(nèi)的文字

  【通用選擇器】

  到這里,前三種基本的選擇器說(shuō)完了,但是還需要給大家介紹一個(gè)CSS選擇器中功能最強(qiáng)大但是用的最少的一種選擇器“通用選擇器”

  *{此處為CSS代碼}

  強(qiáng)大之處是因?yàn)樗麑?duì)父級(jí)中的所有HTML標(biāo)簽進(jìn)行樣式定義,可對(duì)具有共同樣式的標(biāo)簽樣式進(jìn)行定義(有點(diǎn)小學(xué)數(shù)學(xué)中的提取公因式),這樣可以大大精簡(jiǎn)代碼;既然有這么強(qiáng)大的功能為什么是用的最少呢,同樣還是因?yàn)樗膹?qiáng)大,他是對(duì)父級(jí)元素內(nèi)的所有標(biāo)簽進(jìn)行定義,所以只要你定義了,那么父級(jí)里面的所有的標(biāo)簽,甭管有沒有必要,也都相當(dāng)于加上了通用選擇器里面的代碼了,能這么說(shuō)大家不能夠完全理解,沒關(guān)系,我給大家舉個(gè)例子,請(qǐng)看下面

  這里是p標(biāo)簽區(qū)域

  這里是a標(biāo)簽區(qū)域

  這里是p標(biāo)簽區(qū)域

  這里是a標(biāo)簽區(qū)域

  大家運(yùn)行一下上面的例子,div1里面的兩個(gè)標(biāo)簽是不是樣式一樣,這就是通用選擇器的強(qiáng)大之處,不管里面有多少個(gè)標(biāo)簽都會(huì)將樣式加到所有標(biāo)簽內(nèi),如果div1里面得所有的標(biāo)簽都有一部分相同的CSS代碼,那么可以把這部分代碼提取出來(lái),用通用選擇器來(lái)定義,這樣可以大大縮減代碼,但是如果div1里面只要有一個(gè)和其他元素沒有相同的代碼,就不能用通用選擇器來(lái)定義,這也就是CSS通用選擇器不靈活的一點(diǎn),F(xiàn)在大家明白為什么通用選擇器是選擇器里面功能最強(qiáng)大的但又是用的最少的選擇器了吧~~呵呵

  對(duì)于通用選擇器還有一個(gè)不得不提的用法,就是為了保證作出的頁(yè)面能夠兼容多種瀏覽器,所以要對(duì)HTML內(nèi)的所有的標(biāo)簽進(jìn)行重置,會(huì)將下面的代碼加到CSS文件的最頂端

  *{margin:0; padding:0;}

  為什么要這么用呢,因?yàn)槊糠N瀏覽器都自帶有CSS文件,如果一個(gè)頁(yè)面在瀏覽器加載頁(yè)面后,發(fā)現(xiàn)沒有CSS文件,那么瀏覽器就會(huì)自動(dòng)調(diào)用它本身自帶的CSS文件,但是不同的瀏覽器自帶的CSS文件又都不一樣,對(duì)不同標(biāo)簽定義的樣式不一樣,如果我們想讓做出的頁(yè)面能夠在不同的瀏覽器顯示出來(lái)的效果都是一樣的,那么我們就需要對(duì)對(duì)HTML標(biāo)簽重置,就是上面的代碼了,但是這樣也有不好的地方,因?yàn)镠TML4.01中有89個(gè)標(biāo)簽,所以相當(dāng)于在頁(yè)面加載CSS的時(shí)候,先對(duì)這89個(gè)標(biāo)簽都加上了{(lán)margin:0; padding:0;},在這里我不建議大家這么做,因?yàn)?9個(gè)標(biāo)簽中需要重置的標(biāo)簽是很少數(shù),沒有必要將所有的標(biāo)簽都重置,需要哪些標(biāo)簽重置就讓哪些標(biāo)簽重置就可以了,如下

  body,div,p,a,ul,li{margin:0; padding:0;}

  如果還需要dl、dt、dd標(biāo)簽重置,那就在上面加上就可以了,如下

  body,div,p,a,ul,li,dl,dt,dd{margin:0; padding:0;}

  用到那些就寫那些,這點(diǎn)也可以看做衡量頁(yè)面重構(gòu)師制作頁(yè)面水平的高低,以及是否專業(yè)的一個(gè)方面到這里大家更應(yīng)該明白這句話“通用選擇器是功能最強(qiáng)大但是用的最少的選擇器”了吧~^_^

  OK!選擇器的內(nèi)容我向大家應(yīng)該都明白了,后面就繼續(xù)講解一下“選擇器的集體聲

  明”和“選擇器的嵌套”

  【選擇器的集體聲明】

  在我們使用選擇器的時(shí)候,有些標(biāo)簽樣式是一樣的,或者某些標(biāo)簽都有共同的樣式屬性,我們可以將這些標(biāo)簽集體聲明,不同的標(biāo)簽用“,”分開,比如:

  h1,h2,h3,h4,h5,h6{color:#900;}

  #one,#three,.yellow{font-size:14px;}

  #one{background:#ccc;}

  #three{background:#ccc;}

  .yellow{background:#ccc;}

  和小學(xué)的提取公因式差不多,把共同的部分提取出來(lái),這么做的好處,相同的部分共同定義,不同的部分單獨(dú)定義,保證風(fēng)格統(tǒng)一,樣式修改靈活,這也是優(yōu)化CSS代碼的一塊,要記住喲~

  【選擇器的嵌套】

  選擇器也是可以嵌套的,如:

  #div1 p a{color:#900;}/*意思是在ID為div1

  內(nèi)的p標(biāo)簽內(nèi)的鏈接a標(biāo)簽的文字顏色為紅色*/

  這樣的好處就是不需要在單獨(dú)的為ID為div1的標(biāo)簽內(nèi)的p標(biāo)簽內(nèi)的a標(biāo)簽單獨(dú)定義class選擇器或者ID選擇器,CSS代碼不就少了嘛~同樣也是CSS代碼優(yōu)化的一塊。

  到這里,基本的選擇器說(shuō)完了,但是還需要給大家介紹一個(gè)“通用選擇器”

  *{此處為CSS代碼}

  好,這節(jié)課主要講解了三種CSS代碼選擇器、選擇器的聲明、選擇器的嵌套三塊知識(shí),要掌握好,如果有不懂,可以留言。

css經(jīng)典教程9

  在CSS里面,每個(gè)元素盒子都可以想象成由兩個(gè)圖層組成。

  前景層:內(nèi)容(如文本或圖片)和邊框。

  背景層:用實(shí)色填充(使用 background-color 屬性),也可以包含任意多個(gè)背景圖片(使用 background-image 屬性),背景圖片疊加在背景顏色之上。

  在 CSS3 被瀏覽器實(shí)現(xiàn)之前,只能在背景顏色上添加一張圖片。而現(xiàn)在,我們可以為背景圖層添加多張圖片(以及 CSS3 漸變)。

  CSS背景屬性:

  background-color

  background-image

  background-repeat

  background-position

  background-size

  background-attachment

  background(簡(jiǎn)寫屬性)

  background-clip、background-origin、background-break(目前尚未得到廣泛支持)

  背景顏色

  格式:background-color: 顏色值;

  示例:background-color: #caebff;

  背景圖片

  格式:background-image:url(圖片路徑/圖片文件名);

  示例:background-image:url(images/blue_circle.png);

  默認(rèn)情況下背景圖片會(huì) 以元素左上角為起點(diǎn),沿水平和垂直方向重復(fù)出現(xiàn),最終填滿整個(gè)背景區(qū)域。

  背景重復(fù)

  格式:background-repeat: repeat | repeat-x | repeat-y | no-repeat;

  示例:background-repeat:repeat-x;

  說(shuō)明:

  repeat 默認(rèn)值,水平和垂直方向都重復(fù),直至填滿元素的背景區(qū)域?yàn)橹埂?/p>

  repeat-x 水平方向重復(fù)。

  repeat-y 垂直方向重復(fù)。

  no-repeat 任何方向上都不重復(fù)(只讓背景圖片顯示一次)。

  背景位置

  用于控制背景位置的 background-position 屬性,是所有背景屬性中最復(fù)雜的。

  該屬性有5個(gè)關(guān)鍵字值,分別是 top、left、bottom、right 和 center,這些關(guān)鍵字中的任意兩個(gè)組合起來(lái)都可以作為該屬性的值。

  background-position 屬性同時(shí)設(shè)定元素和圖片的原點(diǎn)。原點(diǎn)決定了元素和圖片中某一點(diǎn)的水平和垂直坐標(biāo)。默認(rèn)情況下,background-position的原點(diǎn)位于左上角。

  第一種情況,使用關(guān)鍵字來(lái)設(shè)定位置。background-position屬性的默認(rèn)值 top、left 控制著水平和垂直方向重復(fù)的起點(diǎn)。如修改 起點(diǎn)位置:p#center {background-position:center center;}(簡(jiǎn)化寫法:background-position:center,設(shè)定一個(gè)關(guān)鍵值,則另一個(gè)也會(huì)取相同的值。),背景圖片就會(huì)以段落的中心點(diǎn)為起點(diǎn)。

  第二種情況,使用百分比來(lái)設(shè)定位置。

  示例:background-position:50% 50%;,再把 background-repeat 設(shè)定為 no-repeat,就能實(shí)現(xiàn)了圖片在背景區(qū)域內(nèi)居中的效果。第一個(gè)值表示水平位置,第二個(gè)值表示垂直位置。要是只設(shè)定一個(gè)值,則將其用來(lái)設(shè)定水平位置,而垂直位置會(huì)被設(shè)為 center。

  第三種情況,使用絕對(duì)或相對(duì)單位的數(shù)值。要是使用像素單位來(lái)設(shè)定位置,那么圖片的左上角會(huì)被放在距離元素左上角指定位置的地方。另外,還可以使用負(fù)值,這樣可以把圖片的左上角定位到元素外部,從而在元素中只能看到部分圖片。當(dāng)然也可以給圖片設(shè)定足夠大的正值,把圖片的右下角推到元素外部實(shí)現(xiàn)同樣的效果。

  背景尺寸

  background-size 是 CSS3 規(guī)定的屬性,用來(lái)控制背景圖片的尺寸。

  可設(shè)定的值和含義如下:

  50%:縮放圖片,使其填充背景區(qū)的一半。

  100px 50px:把圖片調(diào)整到 100 像素寬,50 像素高。

  cover:拉大圖片,使其完全填滿背景區(qū);保持寬高比。

  contain:縮放圖片,使其恰好適合背景區(qū);保持寬高比。

  注意:把很小的圖片拉大會(huì)導(dǎo)致圖片質(zhì)量失真。

  背景粘附

  background-attachment屬性控制滾動(dòng)元素內(nèi)的背景圖片是否隨元素滾動(dòng)而滾動(dòng)。

  屬性值有:

  scroll。背景圖片隨元素移動(dòng)。

  fixed。背景圖片不會(huì)隨元素滾動(dòng)而移動(dòng)。

  提示:background-attachment:fixed 最常用于給 body 元素中心位置添加淡色水印,讓水印不隨頁(yè)面滾動(dòng)而移動(dòng)。

  簡(jiǎn)寫背景屬性

  示例:body {background:url(images/watermark.png) center #fff no-repeat contain fixed;}

  說(shuō)明:聲明中少寫了哪個(gè)屬性的值(比如沒寫 no-repeat),就會(huì)使用相應(yīng)屬性的默認(rèn)值( repeat)。

  多背景圖片

  CSS3 可以給元素背景添加多個(gè)背景圖片。

  示例:

  CSS Code復(fù)制內(nèi)容到剪貼板 p{ background: url(images/turq_spiral.png)30px-10pxno-repeat, url(images/pink_spiral.png)145px0pxno-repeat, url(images/gray_spiral.png)140px-30pxno-repeat,#ffbd75; }

  背景漸變

  漸變,就是在一定長(zhǎng)度內(nèi)兩種或多種顏色之間自然的過(guò)渡。

  提示:漸變是 CSS 幫我們生成的背景圖片。添加漸變可以使用 background-image 屬性,也可以使用簡(jiǎn)寫 background 屬性。

  漸變分兩種:

  線性漸變。從元素的.一端延伸到另一端。

  放射性漸變。從元素內(nèi)一點(diǎn)向四周發(fā)散。

  廠商前綴

  為鼓勵(lì)瀏覽器廠商盡早采用 W3C 的 CSS3 推薦標(biāo)準(zhǔn),于是就產(chǎn)生了 VSP(Vendor Specific Prefixes,廠商前綴)的概念。

  示例:

  transform 屬性的標(biāo)準(zhǔn)語(yǔ)法是這樣的:

  transform: skewX(-45deg);

  由于這個(gè)屬性還沒有完全定案,為保證在大多數(shù)瀏覽器以及它們的實(shí)驗(yàn)性實(shí)現(xiàn)中能夠使用這個(gè)屬性,應(yīng)該針對(duì)想要支持的瀏覽器為該屬性添加 VSP。每個(gè)瀏覽器只使用各自能理解的屬性聲明:

  CSS Code復(fù)制內(nèi)容到剪貼板 -moz-transform:skewX(-45deg);/*Firefox*/ -webkit-transform:skewX(-45deg);/*Chrome及Safari*/ -ms-transform:skewX(-45deg);/*微軟InternetExplorer*/ -o-transform:skewX(-45deg);/*Opera*/ transform:skewX(-45deg);/*最后是W3C標(biāo)準(zhǔn)屬性*/

  以下 CSS3 屬性必須加 VPS:

  CSS Code復(fù)制內(nèi)容到剪貼板 border-imagetranslate linear-gradienttransition radial-gradientbackground* transformbackground-image* transform-origin >*針對(duì)背景圖片或漸變

css經(jīng)典教程10

  滑動(dòng)門(Sliding Doors)

  還是決定把滑動(dòng)門單獨(dú)提作一種單獨(dú)的技術(shù).

  它是CSS引入的一項(xiàng)用來(lái)創(chuàng)造漂亮且實(shí)用的界面的新技術(shù), 它使用簡(jiǎn)單, 我們只需要使用兩張單獨(dú)的'背景圖片, 就可以實(shí)現(xiàn)。

  滑動(dòng)門一般用做網(wǎng)站Tab導(dǎo)航, 根據(jù)Tab中內(nèi)容的長(zhǎng)短自動(dòng)縮放Tab的效果.

  CSS代碼大致如下:

  #header li {

  float:left;

  background:url("left_both.gif")no-repeat left top;

  margin:0;

  padding:0 0 0 9px;

  border-bottom:1px solid #765;

  }

  #header a {

  float:left;

  display:block;

  background:url("right_both.gif")no-repeat right top;

  padding:5px 15px 4px 6px;

  text-decoration:none;

  font-weight:bold;

  color:#765;

  }

css經(jīng)典教程11

  CSS教程文本屬性: 字體間距

  用法:

  word-spacing: 1cm;

  word-spacing: 10pt;

  word-spacing: 10px;

  word-spacing: none;

  定義:

  使用這個(gè)屬性我們可以定義或者設(shè)置單詞之間的距離

  word-spacing屬性可以設(shè)置以下的值。

  a)cm:以厘米為單位設(shè)置屬性值,例如:1cm等...

  b)px:以像素為單位設(shè)置屬性值,例如:1px或者10px等...

  c)pt:以點(diǎn)為單位設(shè)置屬性值,例如:1pt或者2pt等...

  d)norm:以初始值/默認(rèn)值為單詞間距。

  示例1:

  試驗(yàn)字間距

  結(jié)果:

  自己測(cè)試

  示例2:

  試驗(yàn)字間距

  結(jié)果:

  自己測(cè)試

  示例3:

  試驗(yàn)字間距

  結(jié)果:

  自己測(cè)試

  示例4:

  試驗(yàn)字間距

css經(jīng)典教程12

  上下左右邊框交界處呈現(xiàn)平滑的斜線。利用這個(gè)特點(diǎn),通過(guò)設(shè)置不同的上下左右邊框?qū)挾然蝾伾梢缘玫叫∪、梯形等?/p>

  調(diào)整寬度大小可以調(diào)節(jié)三角形形狀。

  實(shí)現(xiàn)三角形

  示例1:

  CSS Code復(fù)制內(nèi)容到剪貼板 #test1{ height:20px; width:20px; border-color:#FF9600#3366ff#12ad2a#f0ed7a; border-style:solid; border-width:20px; }

  示例2:

  在上面的基礎(chǔ)上,把高度寬度都設(shè)為0時(shí),會(huì)呈現(xiàn)邊界斜線。

  CSS Code復(fù)制內(nèi)容到剪貼板 #test2{ height:0; width:0; overflow:hidden;/*這里設(shè)置overflow,font-size,line-height*/ font-size:0;/*是因?yàn)?雖然寬高度為0,但在IE6下會(huì)具有默認(rèn)的*/ line-height:0;/*字體大小和行高,導(dǎo)致盒子呈現(xiàn)被撐開的長(zhǎng)矩形*/ border-color:#FF9600#3366ff#12ad2a#f0eb7a; border-style:solid; border-width:20px; }

  示例3:

  示例2中可以看到有4個(gè)三角形了,如果把4種顏色,只保留一種顏色,余下3種顏色設(shè)置為透明或者與背景色相同,那就形成一個(gè)三角形。 CSS Code復(fù)制內(nèi)容到剪貼板 #test3{ height:0; width:0; overflow:hidden; font-size:0; line-height:0; border-color:#FF9600transparenttransparenttransparent; border-style:solid; border-width:20px; }

  示例4:

  示例3中,在IE6下,需要設(shè)置余下三邊的'border-style為dashed,即可達(dá)到透明的效果。

  CSS Code復(fù)制內(nèi)容到剪貼板 #test4{ height:0; width:0; overflow:hidden; font-size:0; line-height:0; border-color:#FF9600transparenttransparenttransparent; border-style:soliddasheddasheddashed; border-width:20px; }

  示例5:

  上述畫的小三角的斜邊都是依靠原來(lái)盒子的邊,還有另一種形式的小三角,斜邊在盒子的對(duì)角線上。

  CSS Code復(fù)制內(nèi)容到剪貼板 #test5{ height:0; width:0; overflow:hidden; font-size:0; line-height:0; border-color:#FF9600#3366fftransparenttransparent; border-style:solidsoliddasheddashed; border-width:40px40px00; }

  保留其中一種顏色,就可以得到斜邊在對(duì)角線上的三角形了。

  實(shí)現(xiàn)圓角效果

  可以實(shí)現(xiàn)近似圓角,其實(shí)是一個(gè)非常小的梯形展示出來(lái)的。

  XML/HTML Code復(fù)制內(nèi)容到剪貼板.test{width:200px;height:50px;} .test.top{width:194px;border-color:transparenttransparent#FF9600transparent;*border-color:pinkpink#FF9600pink;border-style:dasheddashedsoliddashed;border-width:3px;filter:chroma(color=pink);} .test.center{width:200px;height:40px;background-color:#FF9600;} .test.bottom{width:194px;height:5px;border-color:#FF9600transparenttransparenttransparent;*border-color:#FF9600pinkpinkpink;border-style:soliddasheddasheddashed;border-width:3px;filter:chroma(color=pink);}

css經(jīng)典教程13

  一般而言,CSS類名的語(yǔ)義化聲明方式應(yīng)當(dāng)考慮你的頁(yè)面中某個(gè)相對(duì)元素的”用意”,獨(dú)立于它的”定位”或確切的特性(結(jié)構(gòu)化方式)。像left-bar, red-text, small-title…這些都屬于結(jié)構(gòu)化定義的例子。

  讓我們看看下面這個(gè)例子:

  …而現(xiàn)在我們想把頁(yè)面中的元素調(diào)換一下位置,如果你使用的是結(jié)構(gòu)化方式(1),那么你就要把所有CSS類名重新進(jìn)行定義,因?yàn)樗鼈兊奈恢米兞。在布?3)中,我們看到元素都倒轉(zhuǎn)了:right-bar 現(xiàn)在成了 “l(fā)eft-bar”,而left-content 成了 “right-content”。如果你使用語(yǔ)義化方式則避免了此類問(wèn)題。

  換句話說(shuō),使用語(yǔ)義化方式的`話,你在修改網(wǎng)站布局的時(shí)候可以僅僅修改相關(guān)CSS類的屬性即可,而不用修改它們的類名了,如果網(wǎng)站的代碼很龐大,這將節(jié)省大量的時(shí)間。

  教程網(wǎng)會(huì)經(jīng)常更新前端開發(fā)/網(wǎng)頁(yè)設(shè)計(jì)等相關(guān)技術(shù)及教程文章,歡迎及時(shí)瀏覽教程網(wǎng)的最新教程及資源。關(guān)于語(yǔ)義化的一些建議:

  在開始之前,我想推薦兩種簡(jiǎn)單的編寫較好的CSS代碼的指導(dǎo)方針: 為CSS類名定義的時(shí)候,盡量使用小寫字母,如果有兩個(gè)以上的單詞,在每個(gè)單詞之間使用”-”符或單詞首字母大寫(第一個(gè)單詞除外)。如:”main-content”或”mainContent”。 優(yōu)化CSS代碼,僅創(chuàng)建關(guān)鍵主要的CSS類并重新為子元素使用符合HTML標(biāo)準(zhǔn)的標(biāo)簽(h1, h2, p, ul, li, blockquote,…),例如,不要使用這種哦你那個(gè)方式:

  而要這樣寫:

  …

  …

  三欄布局中使用語(yǔ)義化方式的例子

  讓我們來(lái)通過(guò)這個(gè)簡(jiǎn)單的例子講解一下如何為經(jīng)典的三欄布局使用語(yǔ)義化方式命名:

  使用語(yǔ)義化方式為CSS命名可以像這樣:

  #container{…}

  /*—- Top section —-*/

  #header{…}

  #navbar{…}

  /*—- Main —-*/

  #menu{…}

  #main{…}

  #sidebar{…}

  /*—- Footer —-*/

  #footer{…} Container

  “#container“就是將你頁(yè)面中的所有元素包在一起的部分,這部分你還可以命名為:“wrapper“, “wrap“, “page“. Header

  “#header”是網(wǎng)站頁(yè)面的頭部區(qū)域,一般來(lái)講,它包含網(wǎng)站的logo和一些其他元素。這部分你還可以命名為:”top“, “l(fā)ogo“, “page-header” (或 pageHeader). Navbar

  “#navbar“等同于橫向的導(dǎo)航欄,是最典型的網(wǎng)頁(yè)元素。這部分你還可以命名為:“nav”,“navigation”,“nav-wrapper”. Menu

  “#Menu”區(qū)域包含一般的鏈接和菜單,這部分你還可以命名為:“sub-nav“, “l(fā)inks“. Main

  “#Main”是網(wǎng)站的主要區(qū)域,如果是博客的話它將包含你的日志。這部分你還可以命名為:“content“, “main-content” (or “mainContent”)。 Sidebar

  “#Sidebar”部分可以包含網(wǎng)站的次要內(nèi)容,比如最近更新內(nèi)容列表、關(guān)于網(wǎng)站的介紹或廣告元素等…這部分你還可以命名為:“sub-nav“, “side-panel“, “secondary-content“. Footer

  “#Footer”包含網(wǎng)站的一些附加信息,這部分你還可以命名為:“copyright“.

【css經(jīng)典教程】相關(guān)文章:

css教程07-22

css經(jīng)典教程07-18

(優(yōu))css教程07-21

(必備)css教程07-25

【熱】css教程07-24

css經(jīng)典教程(優(yōu))07-26

css經(jīng)典教程[集合]07-30

css教程13篇[必備]07-20

css教程精品(13篇)07-23

css經(jīng)典教程優(yōu)秀(13篇)07-27