CSS,通常稱為CSS樣式表或?qū)盈B樣式表(級聯(lián)樣式表)。主要用于設(shè)置HTML頁面中的文本內(nèi)容(字體、大小、對齊方式等)、圖形的外形(寬高、邊框樣式、邊距等)以及版面布局和外觀顯示樣式。 引入CSS樣式表行內(nèi)式(內(nèi)聯(lián)樣式)稱行內(nèi)樣式、行間樣式. 是通過標簽的style屬性來設(shè)置元素的樣式
任何擁有HTML標簽都擁有style屬性,用來設(shè)置行內(nèi)式。
內(nèi)部樣式表(內(nèi)嵌樣式表)稱內(nèi)嵌式 是將CSS代碼集中卸載HTML文檔的head頭部標簽中,并且用style標簽定義。
外部樣式表(外鏈式)稱鏈入式 是將所有的樣式放在一個或多個以上.css為擴展名的外部樣式表文件中,通過link標簽將外部樣式表文件鏈接到HTML文檔中。 其基本語法格式如下: <head> <link rel="stylesheet" type="text/css" href="css文件路徑" </head>
三種樣式表總結(jié)(位置)
CSS選擇器選擇器能找到特定的HTNL頁面元素 CSS基礎(chǔ)選擇器標簽選擇器(元素選擇器)是指用HTNL標簽名稱作為選擇器,按標簽名稱分類,為頁面中某一類標簽指定同意的CSS樣式。
CSS類選擇器類選擇器使用"."進行標識, 后面緊跟類名。
id選擇器id選擇器使用 # 進行標識, 后面緊跟id名。
通配符選擇器通配符選擇器用 * 號表示, * 就是 選擇所有的標簽 他是所有選擇器中做喲個范圍最廣的,能匹配頁面中所有的元素。
基礎(chǔ)選擇器總結(jié)
復(fù)合選擇器后代選擇器后代選擇器又稱為包含選擇器。其寫法就是把外層標簽寫在前面,內(nèi)層標簽寫在后面,中間用空格分隔,先寫父親爺爺,在寫兒子孫子。 父級 子級 { 屬性: 屬性值; 屬性: 屬性值; } .class h3 { color: red; font-size: 16px; }
子元素選擇器子元素選擇器只能選擇作為某元素子元素的元素。 .class>h3 { color:red; font-size:14px; } 交集選擇器交集選擇器由兩個選擇器構(gòu)成,找到的標簽必須滿足:既有標簽一的特點,也有標簽二的特點。 h3.class { color: red; font-size: 25px; } 其中第一個為標簽選擇器,第二個為class選擇器,兩個選擇器之間不能有空格,如h3.sp。 并集選擇器如果某些選擇器定義的相同樣式,就可以利用并集選擇器,可以讓代碼更簡潔。 .class, h3 { color: red; font-size: 25px; }
鏈接偽類選擇器用于向某些選擇器添加特殊的效果。比如給鏈接添加特殊效果, 比如可以選擇 第1個,第n個元素。 - a:link /* 未訪問的鏈接 */ - a:visited /* 已訪問的鏈接 */ - a:hover /* 鼠標移動到鏈接上 */ - a:active /* 選定的鏈接 */
復(fù)合選擇器總結(jié)
CSS字體樣式屬性調(diào)試工具font 字體font-size: 大小font-size 屬性用于設(shè)置字號 p { font-size: 20px; }
font-family:字體font-family 屬性用于設(shè)置哪種字體 p { font-family:"微軟雅黑"; }
font-weoght: 字體粗細
font-style : 字體風格
font:綜合設(shè)置字體樣式
font總結(jié)
CSS外觀屬性顏色">color: 文本顏色
text-align: 文本水平對齊方式
line-height:行間距
text-indent: 首行縮進
text-decitation 文本的裝飾text-decoration 通常我們用于給鏈接修改裝飾效果
CSS外觀屬性總結(jié)
標簽顯示模式(display)HTML標簽一般分為塊標簽和行內(nèi)標簽兩種類型,它們也稱塊元素和行內(nèi)元素。 塊級元素(block)常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標簽是最典型的塊元素。
行內(nèi)元素(inline)常見的行內(nèi)元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標簽最典型的行內(nèi)元素。有的地方也成內(nèi)聯(lián)元素
行內(nèi)塊元素(inline-block)在行內(nèi)元素中有幾個特殊的標簽——<img />、<input />、<td>,可以對它們設(shè)置寬高和對齊屬性,有些資料可能會稱它們?yōu)樾袃?nèi)塊元素。
三種模式總結(jié)區(qū)別
標簽顯示模式轉(zhuǎn)換 display
行高(line-height)英文和漢字 內(nèi)有 頂線, 中線, 基線, 底線。 行高測量: 為兩行中基線與基線的距離為行高。
CSS背景(background)顏色backgroung-color">背景顏色(backgroung-color)background-color: 顏色值; /* 默認的值是 transparent 透明的 */ 背景圖片(image)background-image: none | url( url )
background-image: url(images/demo.png); 背景平鋪(repect)background-repect: repeat | no-repeat | repeat-x | repeat-y
背景位置(position)background-position : length || length background-position : position || position
背景附著(attachment)背景附著就是解釋背景是滾動的還是固定的 background-attachment: scroll | fixed
背景簡寫
背景透明(CSS3 rgba)background: rgba(0,0,0,.3);
背景總結(jié)
CSS 三大特性CSS層疊性所謂層疊性是指多種CSS樣式的疊加。 是瀏覽器處理沖突的一個能力,如果一個屬性通過兩個相同選擇器設(shè)置到同一個元素上,那么這個時候一個屬性就會將另一個屬性層疊掉
CSS繼承性子標簽會繼承父標簽的某些樣式,如文本顏色和字號。 想要設(shè)置一個可繼承的屬性,只需將它應(yīng)用于父元素即可。
CSS優(yōu)先級定義CSS樣式時,經(jīng)常出現(xiàn)兩個或更多規(guī)則應(yīng)用在同一元素上,此時,
權(quán)重計算關(guān)于CSS權(quán)重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)
權(quán)重疊加我們經(jīng)常用交集選擇器,后代選擇器等,是有多個基礎(chǔ)選擇器組合而成,那么此時,就會出現(xiàn)權(quán)重疊加。
繼承的權(quán)重是 0我們修改樣式,一定要看該標簽有沒有被選中。
盒子模型所謂盒子模型:
盒子邊框(border)border: border-width || border-style || border-color
邊框綜合設(shè)置border: border-width || border-style || border-color /* 例如 */ border: 1px solid red; /* 沒有順序 */ 盒子邊框?qū)懛偨Y(jié)表
表格的細線邊框
內(nèi)邊距(padding)padding屬性用于設(shè)置內(nèi)邊距。是指 邊框與內(nèi)容之間的距離。
padding合寫
內(nèi)盒尺寸計算 (元素實際大小)
外邊距(margin)外邊距margin屬性用于設(shè)置外邊距。 margin就是控制盒子與盒子之間的距離 屬性
margin值的簡寫 (復(fù)合寫法)代表意思 跟 padding 完全相同。 塊級盒子水平居中
文字居中與盒子居中的區(qū)別
插入圖片和背景圖片區(qū)別
清楚元素的默認內(nèi)外邊距為了更靈活方便地控制網(wǎng)頁中的元素,制作網(wǎng)頁時,我們需要將元素的默認內(nèi)外邊距清除 * { padding: 0; margin: 0; }
外邊距合并使用margin定義塊元素的垂直外邊距時, 可能出現(xiàn)外邊距的合并。
盒子模型布局穩(wěn)定性按照 優(yōu)先使用 寬度 (width) 其次 使用內(nèi)邊距(padding) 再次 外邊距(margin)。 width > padding > margin
去掉列表默認的樣式無序和有序列表前面默認的列表樣式, 在不同瀏覽器顯示效果不同, 所以一般會去掉這些列表樣式。 li { list-style: none; } 圓角邊框(CSS3)border-radius: length;
盒子陰影(CSS3)box-shadow: 水平陰影 垂直陰影 模糊距離(虛實) 陰影尺寸(影子大小) 陰影顏色 內(nèi)/外陰影
浮動(float)CSS布局的三種機制
CSS 提供了 3 種機制來設(shè)置盒子的擺放位置,分別是普通流(標準流)、浮動和定位,其中:
概念及作用概念:元素的浮動是指設(shè)置了浮動屬性的元素會
作用
選擇器 { float: 屬性值; }
浮動元素與父盒子的關(guān)系
浮動元素與兄弟盒子的關(guān)系在一個父級盒子中, 如果前一個兄弟盒子是:
清除浮動
清除浮動的方法在CSS中, clear屬性用于清除浮動。 語法一: 選擇器 { clear: 屬性值; /* clear 清除 */ }
語法二(額外標簽法): 是W3C推薦的做法是通過在浮動元素末尾添加一個空的標簽例如 <div style=”clear:both”></div>,或則其他標簽br等亦可。 語法三(父級添加overflow屬性方法): 可以給父級添加: overflow: hidden | auto | scroll都可以實現(xiàn)。 語法四(使用after偽元素清除浮動): :after 方式為空元素額外標簽法的升級版 .clearfix:after { content: ""; display: block; height: 0; clear: both; visibility:hidden; } .clearfix { *zoom: 1; /* IE6、7 專有*/ } 語法五(使用雙偽元素清除浮動): .clearfix:before, .clearfix:after { content:""; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; } 清除浮動總結(jié):
定位(position)將盒子定在某一個位置 自由的漂浮在其他盒子(包括標準流和浮動)的上面 定位組成:
邊偏移在 CSS 中,通過
定位模式在 CSS 中,通過 選擇器 { position: 屬性值; } 定位模式是有不同分類的,在不同情況下,我們用到不同的定位模式。
靜態(tài)定位(static)
相對定位(realative)
絕對定位(sbsolute)絕對定位是元素以帶有定位的父級元素來移動位置
固定定位(fixed)
絕對定位的盒子居中
left: 50%;:/*讓盒子的左側(cè)移動到父級元素的水平中心位置。*/ margin-left: -100px;:/*讓盒子向左移動自身寬度的一半。*/ 堆疊順序(z-index)在使用定位布局時,可能會出現(xiàn)盒子重疊的情況。 加了定位的盒子,默認后來者居上, 后面的盒子會壓住前面的盒子。 應(yīng)用
注意: 定位改變display屬性display 是顯示模式, 可以改變顯示模式有以下方式:
定位小結(jié)
注意:
元素的顯示與隱藏display顯示
visibility 可見性
overflow溢出檢索或設(shè)置當對象的內(nèi)容超過其指定高度及寬度時如何管理內(nèi)容。
顯示與隱藏總結(jié)
CSS用戶界面樣式鼠標樣式cursor設(shè)置或檢索在對象上移的鼠標指針采用何種系統(tǒng)預(yù)定義的光標形狀
輪廓線 outline是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用。 outline: outline-color || outline-style || outline-width /* 去除 */ outline: 0; 或者 outline: none; 防止拖拽文本域 resize<textarea style="resize: none;"></textarea> 用戶界面樣式總結(jié)
vertical-align 垂直對齊vertical-align 垂直對齊,它只針對于行內(nèi)元素或者行內(nèi)塊元素, vertical-align : baseline |top |middle |bottom 注意:
圖片、表單和文字對齊通過vertical-align 控制圖片和文字的垂直關(guān)系了。 默認的圖片會和文字基線對齊。 去除圖片底側(cè)空白縫隙圖片或者表單等行內(nèi)塊元素,他的底線會和父級盒子的基線對齊。就是圖片底側(cè)會有一個空白縫隙。 解決:
溢出的文字省略號顯示whithe-space
white-space:normal ; /* 默認處理方式 */ white-space:nowrap ; /* 強制在同一行內(nèi)顯示所有文本,直到文本結(jié)束或者遭遇br標簽對象才換行。 */ text-overflow 文字溢出
text-overflow : clip ; /* 不顯示省略標記(...),而是簡單的裁切 */ text-overflow:ellipsis ; /* 當對象內(nèi)文本溢出時顯示省略標記(...)*/ 總結(jié)/*1. 先強制一行內(nèi)顯示文本*/ white-space: nowrap; /*2. 超出的部分隱藏*/ overflow: hidden; /*3. 文字用省略號替代超出的部分*/ text-overflow: ellipsis; CSS精靈技術(shù) (sprite)為了有效地減少服務(wù)器接受和發(fā)送請求的次數(shù),提高頁面的加載速度。
使用方法首先我們知道,css精靈技術(shù)主要針對于背景圖片,插入的圖片img 是不需要這個技術(shù)的。 我們需要使用CSS的
滑動門為了使各種特殊形狀的背景能夠自適應(yīng)元素中文本內(nèi)容的多少,出現(xiàn)了CSS滑動門技術(shù)。它從新的角度構(gòu)建頁面,使各種特殊形狀的背景能夠自由拉伸滑動,以適應(yīng)元素內(nèi)部的文本內(nèi)容,可用性更強。 最常見于各種導(dǎo)航欄的滑動門。 使用方法核心技術(shù)就是利用CSS精靈(主要是背景位置)和 盒子padding撐開寬度, 以便能適應(yīng)不同字數(shù)的導(dǎo)航欄。 <li> <a href="#"> <span>導(dǎo)航欄內(nèi)容</span> </a> </li> * { padding:0; margin:0; } body{ background: url(images/wx.jpg) repeat-x; } .father { padding-top:20px; } li { padding-left: 16px; height: 33px; float: left; line-height: 33px; margin:0 10px; background: url(./images/to.png) no-repeat left ; } a { padding-right: 16px; height: 33px; display: inline-block; color:#fff; background: url(./images/to.png) no-repeat right ; text-decoration: none; } li:hover, li:hover a { background-image:url(./images/ao.png); } 總結(jié):
|
|