九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
WEB之CSS系列筆記
CSS,通常稱為CSS樣式表或?qū)盈B樣式表(級聯(lián)樣式表)。主要用于設(shè)置HTML頁面中的文本內(nèi)容(字體、大小、對齊方式等)、圖形的外形(寬高、邊框樣式、邊距等)以及版面布局和外觀顯示樣式。

引入CSS樣式表

行內(nèi)式(內(nèi)聯(lián)樣式)

稱行內(nèi)樣式、行間樣式.
是通過標(biāo)簽的style屬性來設(shè)置元素的樣式
  • 基本語法如下:

    <標(biāo)簽名 style="屬性1:屬性值1;屬性2:屬性值2;屬性3:屬性值3">內(nèi)容</標(biāo)簽名>

任何擁有HTML標(biāo)簽都擁有style屬性,用來設(shè)置行內(nèi)式。

  • 注意:

    • style其實就是標(biāo)簽的屬性

    • 樣式屬性和值之間是 ':'

    • 多組屬性之間用 ';'隔開。

    • 只能控制當(dāng)前標(biāo)簽及嵌套在其中的標(biāo)簽

內(nèi)部樣式表(內(nèi)嵌樣式表)

稱內(nèi)嵌式
是將CSS代碼集中卸載HTML文檔的head頭部標(biāo)簽中,并且用style標(biāo)簽定義。
  • 語法基本語法格式如下:

    <head>
        <style type="text/css">
            選擇器(選擇的標(biāo)簽) {
                屬性1:屬性值1;
                屬性2:屬性值2;
                屬性3:屬性值3;
            }
        </style>
    </head>
    • style標(biāo)簽一般位于head標(biāo)簽中,當(dāng)然理論上他可以放在HTML文檔的任何地方。

    • type="text/css" 在html5中可以省略。

    • 只能控制當(dāng)前的頁面

    • 注意:

外部樣式表(外鏈?zhǔn)?

稱鏈入式
是將所有的樣式放在一個或多個以上.css為擴(kuò)展名的外部樣式表文件中,通過link標(biāo)簽將外部樣式表文件鏈接到HTML文檔中。

其基本語法格式如下:

<head>
    <link rel="stylesheet" type="text/css" href="css文件路徑"
</head>
  • 注意 :

    屬性作用
    rel定義當(dāng)前文檔與被鏈接文檔之間的關(guān)系,在這里需要指定為“stylesheet”,表示被鏈接的文檔是一個樣式表文件。
    type定義所鏈接文檔的類型,在這里需要指定為“text/CSS”,表示鏈接的外部文件為CSS樣式表。我們都可以省略
    href定義所鏈接外部樣式表文件的URL,可以是相對路徑,也可以是絕對路徑。
    • link 是個單標(biāo)簽

    • link標(biāo)簽需要放在head頭部標(biāo)簽中,并且指定link標(biāo)簽的三個屬性。

三種樣式表總結(jié)(位置)

樣式表優(yōu)點缺點使用情況控制范圍
行內(nèi)樣式表書寫方便,權(quán)重高沒有實現(xiàn)樣式和結(jié)構(gòu)相分離較少控制一個標(biāo)簽(少)
內(nèi)部樣式表部分結(jié)構(gòu)和樣式相分離沒有徹底分離較多控制一個頁面(中)
外部樣式表完全實現(xiàn)結(jié)構(gòu)和樣式相分離需要引入最多控制多個站點(多)

CSS選擇器

選擇器能找到特定的HTNL頁面元素

CSS基礎(chǔ)選擇器

標(biāo)簽選擇器(元素選擇器)是指用HTNL標(biāo)簽名稱作為選擇器,按標(biāo)簽名稱分類,為頁面中某一類標(biāo)簽指定同意的CSS樣式。
  • 語法:

    標(biāo)簽名{
    屬性1:屬性值1; 
    屬性2:屬性值2; 
    屬性3:屬性值3; 
    }
  • 作用:

    標(biāo)簽選擇器 可以把某一類標(biāo)簽全部選擇出來 比如所有的div標(biāo)簽 和 所有的 是span標(biāo)簽

CSS類選擇器

類選擇器使用"."進(jìn)行標(biāo)識, 后面緊跟類名。

  • 語法:

    • 類選擇器使用“.”(英文點號)進(jìn)行標(biāo)識,后面緊跟類名(自定義,我們自己命名的)

    • 長名稱或詞組可以使用中橫線來為選擇器命名。

    • 不要純數(shù)字、中文等命名, 盡量使用英文字母來表示。

    • 類型選擇器

      .類名  {   
          屬性1:屬性值1; 
          屬性2:屬性值2; 
          屬性3:屬性值3;     
      }
    • 標(biāo)簽

      <p class='類名'></p>
    • 注意

  • 類選擇器特殊用法-多類名

    可以給標(biāo)簽指定多個類名, 從而達(dá)到跟過的選擇目的。

    <div class="pink fontWeight font20">文字</div>
    • 注意: 多個類名中間用空格隔開

id選擇器

id選擇器使用 # 進(jìn)行標(biāo)識, 后面緊跟id名。

  • 基本語法

    • 元素的id值是唯一的,只能對應(yīng)于文檔中某一個具體的元素。

    • 用法基本和類選擇器相同。

    • id選擇器

      #id名 {屬性1:屬性值1;屬性2:屬性值2; 屬性3:屬性值3; }
    • 標(biāo)簽

      <p id="id名"></p>
    • 注意:

  • id選擇器和類選擇器區(qū)別

    W3C標(biāo)準(zhǔn)規(guī)定, 在同一個頁面內(nèi),不允許有相同名字的id對象出現(xiàn),但是允許相同名字的class。

通配符選擇器

通配符選擇器用 * 號表示, * 就是 選擇所有的標(biāo)簽 他是所有選擇器中做喲個范圍最廣的,能匹配頁面中所有的元素。

  • 基本語法:

    * {
    屬性1:屬性值1; 
    屬性2:屬性值2; 
    屬性3:屬性值3;
    }

    例(清除所有HTML標(biāo)記的默認(rèn)邊距):

    * {
    margin: 0;/* 定義外邊距 */
    padding: 0;/* 定義內(nèi)邊距 */
    }

基礎(chǔ)選擇器總結(jié)

選擇器作用缺點使用情況用法
標(biāo)簽選擇器可以選出所有相同的標(biāo)簽,比如p不能差異化選擇較多p { color:red;}
類選擇器可以選出1個或者多個標(biāo)簽可以根據(jù)需求選擇非常多.nav { color: red; }
id選擇器一次只能選擇器1個標(biāo)簽只能使用一次不推薦使用#nav {color: red;}
通配符選擇器選擇所有的標(biāo)簽選擇的太多,有部分不需要不推薦使用* {color: red;}

復(fù)合選擇器

后代選擇器

后代選擇器又稱為包含選擇器。其寫法就是把外層標(biāo)簽寫在前面,內(nèi)層標(biāo)簽寫在后面,中間用空格分隔,先寫父親爺爺,在寫兒子孫子。

父級 子級 {
屬性: 屬性值;
屬性: 屬性值;
}
.class h3 {
color: red;
font-size: 16px;
}
  • 當(dāng)標(biāo)簽發(fā)生嵌套時,內(nèi)層標(biāo)簽就成為外層標(biāo)簽的后代。

  • 子孫后代都可以這么選擇。 或者說,它能選擇任何包含在內(nèi) 的標(biāo)簽。

子元素選擇器

子元素選擇器只能選擇作為某元素子元素的元素。

.class>h3 {
    color:red;
    font-size:14px;
}

交集選擇器

交集選擇器由兩個選擇器構(gòu)成,找到的標(biāo)簽必須滿足:既有標(biāo)簽一的特點,也有標(biāo)簽二的特點。

h3.class {
color: red;
font-size: 25px;
}

其中第一個為標(biāo)簽選擇器,第二個為class選擇器,兩個選擇器之間不能有空格,如h3.sp。

并集選擇器

如果某些選擇器定義的相同樣式,就可以利用并集選擇器,可以讓代碼更簡潔。

.class,
h3 {
color: red;
font-size: 25px;
}
  • 任何形式的選擇器(包括標(biāo)簽選擇器、class類選擇器id選擇器等),都可以作為并集選擇器的一部分。

鏈接偽類選擇器

用于向某些選擇器添加特殊的效果。比如給鏈接添加特殊效果, 比如可以選擇 第1個,第n個元素。

- a:link      /* 未訪問的鏈接 */
- a:visited   /* 已訪問的鏈接 */
- a:hover     /* 鼠標(biāo)移動到鏈接上 */
- a:active    /* 選定的鏈接 */
  • 寫的時候,他們的順序盡量不要顛倒 按照 lvha 的順序。否則可能引起錯誤。

復(fù)合選擇器總結(jié)

選擇器作用特征使用情況隔開符號及用法
后代選擇器用來選擇元素后代是選擇所有的子孫后代較多符號是空格 .nav a
子代選擇器選擇 最近一級元素只選親兒子較少符號是> .nav>p
交集選擇器選擇兩個標(biāo)簽交集的部分既是 又是較少沒有符號 p.one
并集選擇器選擇某些相同樣式的選擇器可以用于集體聲明較多符號是逗號 .nav, .header
鏈接偽類選擇器給鏈接更改狀態(tài)
較多重點記住 a{} 和 a:hover 實際開發(fā)的寫法

CSS字體樣式屬性調(diào)試工具

font 字體

font-size: 大小

font-size 屬性用于設(shè)置字號

p {
font-size: 20px;
}
  • 單位:

    • 可以使用相對長隊單位,也可以使用絕對長度單位。

    • 相對長度單位比較常用,推薦使用像素單位px, 絕對長度單位使用較少。

相對長度單位說明
em相對于當(dāng)前對象內(nèi)文字的字體尺寸
px像素, 最常用
絕對長度單位說明
in英寸
cm厘米
mm毫米
pt
  • 注意:

    • 谷歌瀏覽器默認(rèn)的文字大小為16px

    • 不用瀏覽器默認(rèn)顯示的字號大小不一致,我們盡量給一個明確值大小, 不要默認(rèn)大小。一般給body指定整個頁面字體大小。

font-family:字體

font-family 屬性用于設(shè)置哪種字體

p {
font-family:"微軟雅黑";
}
  • 網(wǎng)頁中常用的字體有宋體、微軟雅黑、黑體等,例如將網(wǎng)頁中所有段落文本字體設(shè)置為微軟雅黑。

  • 可以同時指定多個字體,中間以逗號隔開, 表示如果瀏覽器不支持第一個字體,則會嘗試下一個,直到找到合適的字體,如果都沒有,則以電腦默認(rèn)的字體為準(zhǔn)。

    p {
    font-family: Arial, "Microsoft yahei", "微軟雅黑"
    }
    • 各種字體之間必須使用英文狀態(tài)下的逗號隔開。

    • 注意:

    1. 中文字體需要加英文狀態(tài)下的引號,英文字體一般不需要加引號。當(dāng)需要設(shè)置英文字體時,英文字體名必須位于中文字體名之前。

    2. 如果字體名中包含空格、#、$等符號,則該字體必須加英文狀態(tài)下的單引號或雙引號,例如font-family: "Times New Roman";。

    3. 盡量使用系統(tǒng)默認(rèn)字體,保證在任何用戶的瀏覽器中都能正確顯示。

  • CSS Unicode字體

    在 CSS 中設(shè)置字體名稱,直接寫中文是可以的。但是在文件編碼(GB2312、UTF-8 等)不匹配時會產(chǎn)生亂碼的錯誤。

    • 解決方案

      在 CSS 直接使用 Unicode 編碼來寫字體名稱可以避免這些錯誤。使用 Unicode 寫中文字體名稱,瀏覽器是可以正確的解析的。

      font-family: "\5FAE\8F6F\96C5\9ED1";   
      /*表示設(shè)置字體為“微軟雅黑”。*/
      字體名稱英文名稱Unicode 編碼
      宋體SimSun\5B8B\4F53
      新宋體NSimSun\65B0\5B8B\4F53
      黑體SimHei\9ED1\4F53
      微軟雅黑Microsoft YaHei\5FAE\8F6F\96C5\9ED1
      楷體_GB2312KaiTi_GB2312\6977\4F53_GB2312
      隸書LiSu\96B6\4E66
      幼園YouYuan\5E7C\5706
      華文細(xì)黑STXihei\534E\6587\7EC6\9ED1
      細(xì)明體MingLiU\7EC6\660E\4F53
      新細(xì)明體PMingLiU\65B0\7EC6\660E\4F53

font-weoght: 字體粗細(xì)

  • 在html中設(shè)置加粗可以用標(biāo)簽來實現(xiàn),

  • 可以使用CSS來實現(xiàn),但是CSS是沒有語義的。

    屬性值描述
    normal默認(rèn)值(不加粗的)
    bold定義粗體(加粗的)
    100~900400 等同于 normal,而 700 等同于 bold 我們重點記住這句話

font-style : 字體風(fēng)格

  • 在html中設(shè)置斜體可以用標(biāo)簽來實現(xiàn),

  • 可以使用CSS來實現(xiàn),但是CSS是沒有語義的。

    屬性作用
    normal默認(rèn)值,瀏覽器會顯示標(biāo)準(zhǔn)的字體樣式 font-style: normal;
    italic瀏覽器會顯示斜體的字體樣式。

font:綜合設(shè)置字體樣式

  • 基本語法:

    選擇器 {
    font: font-style  font-weight  font-size/line-height  font-family;
    }
  • 注意

    • 使用font屬性時,必須按上面的語法格式中的順序書寫,不能更換順序, 各個屬性以空格隔開。

    • 其中不需要設(shè)置的屬性可以省略(取默認(rèn)值), 但必須保留fint-size和font-family屬性, 否則font屬性將不起作用。

font總結(jié)

屬性表示注意點
font-size字號我們通常用的單位是px 像素,一定要跟上單位
font-family字體實際工作中按照團(tuán)隊約定來寫字體
font-weight字體粗細(xì)記住加粗是 700 或者 bold 不加粗 是 normal 或者 400 記住數(shù)字不要跟單位
font-style字體樣式記住傾斜是 italic 不傾斜 是 normal 工作中我們最常用 normal
font字體連寫1. 字體連寫是有順序的 不能隨意換位置 2. 其中字號 和 字體 必須同時出現(xiàn)

CSS外觀屬性

顏色">color: 文本顏色

  • color屬性用于定義文本的顏色

  • 取值方式:

    表示表示屬性值
    預(yù)定義的顏色red,green,blue等
    十六進(jìn)制#FF0000,#FF6600,#29D794
    RGB代碼rgb(255,0,0)或rgb(100%,0%,0%)
    • 十六進(jìn)制顏色可以簡寫。

text-align: 文本水平對齊方式

  • 作用:

    text-align屬性用于設(shè)置文本內(nèi)容的水平對齊, 相當(dāng)于HTML中的align對齊屬性

  • 其可用屬性值:

    屬性解釋
    left左對齊(默認(rèn)值)
    right右對齊
    center居中對齊
    • 是讓盒子內(nèi)的內(nèi)容水平居中, 而不是讓盒子居中對齊。

line-height:行間距

  • 作用

    line-height屬性用與設(shè)置行間距, 就是行與行之間的距離,即字符的垂直間距, 一般稱為行高

  • 單位

    ine-height常用的屬性值單位有三種,分別為像素px,相對值em和百分比%

  • 一般情況下,行距比字號大7.8像素左右就可以了。

    line-height: 24px;

text-indent: 首行縮進(jìn)

  • 作用:

    text-indent屬性用于設(shè)置首行文本的縮進(jìn)

  • 屬性值

    1em就是一個字的寬度 如果是漢字的段落,1 em 就是一個漢字的寬度

    p {
    /*行間距*/
    line-height: 25px;
    /*首行縮進(jìn)2個字節(jié)*/
    text-indent: 2em;
    }
    • 其屬性值可為不同單位的數(shù)值、em字符寬度的倍數(shù)、或相對于瀏覽器窗口寬度的百分比%,允許使用負(fù)值,

    • 建議使用em作為設(shè)置單位。

text-decitation 文本的裝飾

text-decoration 通常我們用于給鏈接修改裝飾效果

描述
none默認(rèn)。定義標(biāo)準(zhǔn)的文本。 取消下劃線(最常用)
underline定義文本下的一條線。下劃線 也是我們鏈接自帶的(常用)
overline定義文本上的一條線。(不用)
line-through定義穿過文本下的一條線。(不常用)

CSS外觀屬性總結(jié)

屬性表示注意點
color顏色我們通常用 十六進(jìn)制 比如 而且是簡寫形式 #fff
line-height行高控制行與行之間的距離
text-align水平對齊可以設(shè)定文字水平的對齊方式
text-indent首行縮進(jìn)通常我們用于段落首行縮進(jìn)2個字的距離 text-indent: 2em;
text-decoration文本修飾記住 添加 下劃線 underline 取消下劃線 none

標(biāo)簽顯示模式(display)

HTML標(biāo)簽一般分為塊標(biāo)簽和行內(nèi)標(biāo)簽兩種類型,它們也稱塊元素和行內(nèi)元素。

塊級元素(block)

常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標(biāo)簽是最典型的塊元素。
  • 塊級元素的特點

    1. 獨占一行。

    2. 高度, 寬度,外邊距以及內(nèi)邊距都可以控制。

    3. 寬度默認(rèn)是容器的100%。

    4. 是一個容器,里面可以放行內(nèi)或塊級元素。

  • 注意

    • 只有文字才能組成段落, 因此 p 內(nèi)不能放塊級元素, 特別是 p 不能放 div

    • 同理h1-h6,dt, 它們都是文字類塊級標(biāo)簽, 里面不能放其它塊級元素

行內(nèi)元素(inline)

常見的行內(nèi)元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標(biāo)簽最典型的行內(nèi)元素。有的地方也成內(nèi)聯(lián)元素
  • 行內(nèi)元素的特點:

    1. 相鄰行內(nèi)元素在一行上,一行可以顯示多個。

    2. 高、款直接設(shè)置是無效的。

    3. 默認(rèn)寬度就是它本身內(nèi)容的寬度。

    4. 行內(nèi)元素只能容納文本或其它行內(nèi)元素。

  • 注意:

    • 鏈接內(nèi)不能再放鏈接

    • 特殊情況a里面可以放塊級元素, 但是給a轉(zhuǎn)換一下塊級模式最安全。

行內(nèi)塊元素(inline-block)

在行內(nèi)元素中有幾個特殊的標(biāo)簽——<img />、<input />、<td>,可以對它們設(shè)置寬高和對齊屬性,有些資料可能會稱它們?yōu)樾袃?nèi)塊元素。
  • 特點:

    1. 和相鄰行內(nèi)元素(行內(nèi)塊) 在一行上, 但是之間會有空白縫隙。一行可以顯示多個。

    2. 默認(rèn)寬度就是它本身內(nèi)容的寬度。

    3. 高度, 行高, 外邊距以及內(nèi)邊距都可以控制。

三種模式總結(jié)區(qū)別

元素模式元素排列設(shè)置樣式默認(rèn)寬度包含
塊級元素一行只能放一個塊級元素可以設(shè)置寬度高度容器的100%容器級可以包含任何標(biāo)簽
行內(nèi)元素一行可以放多個行內(nèi)元素不可以直接設(shè)置寬度高度它本身內(nèi)容的寬度容納文本或則其他行內(nèi)元素
行內(nèi)塊元素一行放多個行內(nèi)塊元素可以設(shè)置寬度和高度它本身內(nèi)容的寬度

標(biāo)簽顯示模式轉(zhuǎn)換 display

  • 塊轉(zhuǎn)行內(nèi): display: inline;

  • 行內(nèi)轉(zhuǎn)塊: display: block;

  • 塊、行內(nèi)元素轉(zhuǎn)換為行內(nèi)塊:diaplay: inline-block;

行高(line-height)

英文和漢字 內(nèi)有 頂線, 中線, 基線, 底線。 行高測量: 為兩行中基線與基線的距離為行高。

  • 單行文字垂直居中

    文字的行高等于盒子的高度。

  • 行高 = 上距離 + 內(nèi)容高度 + 下距離

  • 行高和高度的三種關(guān)系

    • 如果 行高 等 高度 文字會 垂直居中

    • 如果行高 大于 高度 文字會 偏下

    • 如果行高小于高度 文字會 偏上

CSS背景(background)

顏色backgroung-color">背景顏色(backgroung-color)

background-color: 顏色值;  
/* 默認(rèn)的值是 transparent  透明的 */

背景圖片(image)

background-image: none | url( url )
參數(shù)作用
none無背景圖(默認(rèn)的)
url使用絕對或相對地址指定背景圖像
background-image: url(images/demo.png);

背景平鋪(repect)

background-repect: repeat | no-repeat | repeat-x | repeat-y
參數(shù)作用
repeat背景圖像在縱向和橫向上平鋪(默認(rèn)的)
no-repeat背景圖像不平鋪
repeat-x背景圖像在橫向上平鋪
repeat-y背景圖像在縱向平鋪

背景位置(position)

background-position : length || length

background-position : position || position
參數(shù)
length百分?jǐn)?shù) | 由浮點數(shù)字和單位標(biāo)識符組成的長度值
positiontop | center | bottom | left | center | right 方位名詞
  • 注意:

    • 必須先指定background-image屬性

    • position 后面是x坐標(biāo)和y坐標(biāo)。 可以使用方位名詞或者 精確單位。

    • 如果指定兩個值,兩個值都是方位名字,則兩個值前后順序無關(guān),比如left top和top left效果一致

    • 如果只指定了一個方位名詞,另一個值默認(rèn)居中對齊。

    • 如果position 后面是精確坐標(biāo), 那么第一個,肯定是 x 第二的一定是y

    • 如果只指定一個數(shù)值,那該數(shù)值一定是x坐標(biāo),另一個默認(rèn)垂直居中

    • 如果指定的兩個值是 精確單位和方位名字混合使用,則第一個值是x坐標(biāo),第二個值是y坐標(biāo)

背景附著(attachment)

背景附著就是解釋背景是滾動的還是固定的

background-attachment: scroll | fixed
參數(shù)作用
scroll背景圖像是隨對象內(nèi)容滾動
fixed背景圖像固定

背景簡寫

  • background:屬性的值的書寫順序官方并沒有強(qiáng)制標(biāo)準(zhǔn)的。為了可讀性,建議大家如下寫:

  • background: 背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置;

    background: transparent url(image.jpg) repeat-y  scroll center top ;

背景透明(CSS3 rgba)

background: rgba(0,0,0,.3);
  • 最后一個參數(shù)是alpha 透明度 取值范圍 0~1之間

  • 我們習(xí)慣把0.3 的 0 省略掉 這樣寫 background: rgba(0, 0, 0, .3);

  • 注意: 背景半透明是指盒子背景半透明, 盒子里面的內(nèi)容不受影響

  • 因為是CSS3 ,所以 低于 ie9 的版本是不支持的。

背景總結(jié)

屬性作用
background-color背景顏色預(yù)定義的顏色值/十六進(jìn)制/RGB代碼
background-image背景圖片url(圖片路徑)
background-repeat是否平鋪repeat/no-repeat/repeat-x/repeat-y
background-position背景位置length/position 分別是x 和 y坐標(biāo), 切記 如果有 精確數(shù)值單位,則必須按照先X 后Y 的寫法
background-attachment背景固定還是滾動scroll/fixed
背景簡寫更簡單背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置; 他們沒有順序
背景透明讓盒子半透明background: rgba(0,0,0,0.3); 后面必須是 4個值

CSS 三大特性

CSS層疊性

所謂層疊性是指多種CSS樣式的疊加。

是瀏覽器處理沖突的一個能力,如果一個屬性通過兩個相同選擇器設(shè)置到同一個元素上,那么這個時候一個屬性就會將另一個屬性層疊掉

  • 樣式?jīng)_突,遵循的原則是就近原則。 那個樣式離著結(jié)構(gòu)近,就執(zhí)行那個樣式。

  • 樣式不沖突,不會層疊

CSS繼承性

子標(biāo)簽會繼承父標(biāo)簽的某些樣式,如文本顏色和字號。

想要設(shè)置一個可繼承的屬性,只需將它應(yīng)用于父元素即可。

  • 注意

    • 恰當(dāng)?shù)厥褂美^承可以簡化代碼,降低CSS樣式的復(fù)雜性。比如有很多子級孩子都需要某個樣式,可以給父級指定一個,這些孩子繼承過來就好了。

    • 子元素可以繼承父元素的樣式(text-,font-,line-這些元素開頭的可以繼承,以及color屬性

CSS優(yōu)先級

定義CSS樣式時,經(jīng)常出現(xiàn)兩個或更多規(guī)則應(yīng)用在同一元素上,此時,

  • 選擇器相同,則執(zhí)行層疊性

  • 選擇器不同,就會出現(xiàn)優(yōu)先級的問題。

權(quán)重計算

關(guān)于CSS權(quán)重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)

標(biāo)簽選擇器計算權(quán)重公式
繼承或者 *0,0,0,0
每個元素(標(biāo)簽選擇器)0,0,0,1
每個類,偽類0,0,1,0
每個ID0,1,0,0
每個行內(nèi)樣式 style=""1,0,0,0
每個!important 重要的∞ 無窮大
  • 值從左到右,左面的最大,一級大于一級,數(shù)位之間沒有進(jìn)制,級別之間不可超越。

    div {
        color: pink!important;  
    }

權(quán)重疊加

我們經(jīng)常用交集選擇器,后代選擇器等,是有多個基礎(chǔ)選擇器組合而成,那么此時,就會出現(xiàn)權(quán)重疊加。

  • 例如:

    • div ul li ------> 0,0,0,3

    • .nav ul li ------> 0,0,1,2

    • a:hover -----—> 0,0,1,1

    • .nav a ------> 0,0,1,1

  • 注意:

    數(shù)位之間沒有進(jìn)制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不會存在10個div能趕上一個類選擇器的情況。

繼承的權(quán)重是 0

我們修改樣式,一定要看該標(biāo)簽有沒有被選中。

  • 如果選中了,那么以上面的公式來計權(quán)重。誰大聽誰的。

  • 如果沒有選中,那么權(quán)重是0,因為繼承的權(quán)重為0.

盒子模型

所謂盒子模型:

就是把HTML頁面中的布局元素看作是一個矩形的盒子,也就是一個盛裝內(nèi)容的容器。

  • 盒子模型有元素的內(nèi)容、邊框(border)、內(nèi)邊距(padding)、和外邊距(margin)組成。

  • 盒子里面的文字和圖片等元素是 內(nèi)容區(qū)域

  • 盒子的厚度 我們成為 盒子的邊框

  • 盒子內(nèi)容與邊框的距離是內(nèi)邊距(類似單元格的 cellpadding)

  • 盒子與盒子之間的距離是外邊距(類似單元格的 cellspacing)

盒子邊框(border)

border: border-width  || border-style  || border-color
屬性作用
border-width定義邊框粗細(xì),單位是px
border-style邊框的樣式
border-color邊框顏色
  • 邊框的樣式:

    • none: 沒有比那狂即忽略所有邊框的寬度(默認(rèn)值)

    • solid: 邊框為單實線(常用)

    • dashed: 邊框為虛線

    • dotted: 邊框為點線

邊框綜合設(shè)置

border: border-width  || border-style  || border-color
/* 例如 */
border: 1px solid red; /* 沒有順序 */

盒子邊框?qū)懛偨Y(jié)表

上邊框下邊框左邊框右邊框
border-top-style:樣式;border-bottom-style:樣式;border-left-style:樣式;border-right-style:樣式;
border-top-width:寬度;border- bottom-width:寬度;border-left-width:寬度;border-right-width:寬度;
border-top-color:顏色;border- bottom-color:顏色;border-left-color:顏色;border-right-color:顏色;
border-top:寬度 樣式 顏色;border-bottom:寬度 樣式 顏色;border-left:寬度 樣式 顏色;border-right:寬度 樣式 顏色;

表格的細(xì)線邊框

  • 通過表格的 cellspaceing="0", 將單元格與單元格之間的距離設(shè)置為0

  • 但是兩個單元格之間的邊框會出現(xiàn)重疊, 從而使邊框變粗

  • 通過css屬性設(shè)置:

    table {
    border-collapse: collapse;
    }
    <style>
    table {
    width: 500px;
    height: 300px;
    border: 1px solid red;
    }
    td {
    border: 1px solid red;
    text-align: center;
    }
    table, td {
    border-collapse: collapse;  /*合并相鄰邊框*/
    }
    </style>
    • collapse 為合并的意思

    • border-collapse: collapse; 表示相鄰邊框合并在一起。

內(nèi)邊距(padding)

padding屬性用于設(shè)置內(nèi)邊距。是指 邊框與內(nèi)容之間的距離。

屬性作用
padding-left左內(nèi)邊距
padding-right右內(nèi)邊距
padding-top上內(nèi)邊距
padding-bottom下內(nèi)邊距
  • 當(dāng)我們給盒子指定padding值之后, 發(fā)生了2件事:

    • 內(nèi)容和邊框 有了距離, 添加了內(nèi)邊距。

    • 盒子會變大了。

  • 注意

    • 如果沒有給一個盒子指定寬度, 此時,如果給這個盒子指定padding, 則不會撐開盒子。

padding合寫

值的個數(shù)表達(dá)意思
1個值padding:上下左右內(nèi)邊距;
2個值padding: 上下內(nèi)邊距 左右內(nèi)邊距 ;
3個值padding:上內(nèi)邊距 左右內(nèi)邊距 下內(nèi)邊距;
4個值padding: 上內(nèi)邊距 右內(nèi)邊距 下內(nèi)邊距 左內(nèi)邊距 ;

內(nèi)盒尺寸計算 (元素實際大小)

  • 寬度

    Element Height = content height + padding + border (Height為內(nèi)容高度)

  • 高度

    Element Width = content width + padding + border (Width為內(nèi)容寬度)

  • 盒子的實際的大小 = 內(nèi)容的寬度和高度 + 內(nèi)邊距 + 邊框

外邊距(margin)

外邊距

margin屬性用于設(shè)置外邊距。 margin就是控制盒子與盒子之間的距離

屬性

屬性作用
margin-left左外邊距
margin-right右外邊距
margin-top上外邊距
margin-bottom下外邊距

margin值的簡寫 (復(fù)合寫法)代表意思 跟 padding 完全相同。

塊級盒子水平居中

  • 可以讓一個塊級盒子實現(xiàn)水平居中:

    • 盒子必須指定了寬度(width)。

    • 然后就給1左右的外邊距都設(shè)置為auto。

  • 例如:

    .header {
    width: 960px;
    margin: 0 auto;
    }

    常見的寫法

    * margin-left: auto;   margin-right: auto;
    * margin: auto;
    * margin: 0 auto;

文字居中與盒子居中的區(qū)別

  1. 盒子內(nèi)的文字水平居中是 text-align: center, 而且還可以讓 行內(nèi)元素和行內(nèi)塊居中對齊

  2. 塊級盒子水平居中 左右margin 改為 auto

    text-align: center; /*  文字 行內(nèi)元素 行內(nèi)塊元素水平居中 */
    margin: 10px auto;  /* 塊級盒子水平居中  左右margin 改為 auto 就闊以了 上下margin都可以 */

插入圖片和背景圖片區(qū)別

  1. 插入圖片 我們用的最多 比如產(chǎn)品展示類 移動位置只能靠盒模型 padding margin

  2. 背景圖片我們一般用于小圖標(biāo)背景 或者 超大背景圖片 背景圖片 只能通過 background-position

     img {  
    width: 200px;/* 插入圖片更改大小 width 和 height */
    height: 210px;
    margin-top: 30px;  /* 插入圖片更改位置 可以用margin 或padding  盒模型 */
    margin-left: 50px; /* 插入當(dāng)圖片也是一個盒子 */
    }
    
     div {
    width: 400px;
    height: 400px;
    border: 1px solid purple;
    background: #fff url(images/sun.jpg) no-repeat;
    background-position: 30px 50px; /* 背景圖片更改位置 我用 background-position */
    }

清楚元素的默認(rèn)內(nèi)外邊距

為了更靈活方便地控制網(wǎng)頁中的元素,制作網(wǎng)頁時,我們需要將元素的默認(rèn)內(nèi)外邊距清除

* {
padding: 0;
margin: 0;
}
  • 注意:

    行內(nèi)元素為了照顧兼容性, 盡量只設(shè)置左右內(nèi)外邊距, 不要設(shè)置上下內(nèi)外邊距。

外邊距合并

使用margin定義塊元素的垂直外邊距時, 可能出現(xiàn)外邊距的合并。

  • 相鄰塊元素垂直外邊距的合并

    • 當(dāng)上下相鄰的兩個塊元素相遇時, 如果上面的元素有下外邊距margin-bottom

    • 下面的元素有上邊距margin-top, 則它們之間的垂直間距不是margin-bottom與margin-top之和

    • 取兩個值中的較大者這種現(xiàn)象被稱為相鄰塊元素垂直外邊距的合并(也成為外邊距塌陷)

  • 嵌套塊元素垂直外邊距的合并(塌陷)

    • 對于兩個嵌套關(guān)系的塊元素, 如果發(fā)元素沒有上內(nèi)邊距及邊框

    • 父元素的上外邊距會與子元素的上外邊距發(fā)生合并

    • 合并后的外邊距為兩者中的較大者

盒子模型布局穩(wěn)定性

按照 優(yōu)先使用 寬度 (width) 其次 使用內(nèi)邊距(padding) 再次 外邊距(margin)。

  width >  padding  >   margin
  • 原因:

    • margin 會有外邊距合并 還有IE6一下margin 加倍的bug 最后使用。

    • padding 會影響盒子大小, 需要進(jìn)行加減計算 其次使用。

    • width 沒有問題 我們經(jīng)常使用寬度剩余法 高度剩余法來做。

去掉列表默認(rèn)的樣式

無序和有序列表前面默認(rèn)的列表樣式, 在不同瀏覽器顯示效果不同, 所以一般會去掉這些列表樣式。

li {
list-style: none;
}

圓角邊框(CSS3)

border-radius: length;
  • 其中每一個值可以為 數(shù)值或百分比的形式。

  • 可以讓一個正方形 變成圓圈

    border-radius:50%;
  • 如果為矩形的圓角, 就不要用百分比了, 因為百分比會是表示高度和寬度的一般。

  • 這里矩形就只用高度的一半就號。 精確單位。

盒子陰影(CSS3)

box-shadow: 水平陰影 垂直陰影 模糊距離(虛實)  陰影尺寸(影子大小)  陰影顏色  內(nèi)/外陰影
描述
h-shadow必需。水平陰影的位置。允許負(fù)值。
v-shadow必需。垂直陰影的位置。允許負(fù)值。
blur可選。模糊距離。
spread可選。陰影的尺寸。
color可選。陰影的顏色
inset可選。將外部陰影(outset)改為內(nèi)部陰影。
  • 前面兩個屬性是必須寫的。其余的可以省略。

  • 外陰影(outset)是默認(rèn)的 但是不能寫 outset 想要內(nèi)陰影可以寫 inset

    div {
    width: 200px;
    height: 200px;
    border: 10px soild red;
    /* box-shadow: 5px 5px 3px 4px rgba(0,0,0,.4); */
    /* box-shadow: 水平位置 垂直位置 模糊距離 陰影尺寸(影子大小) 陰影顏色 內(nèi)/外陰影; */
    box-shadow: 0 15px 30px rgba(0,0,0,.4);
    }

浮動(float)

CSS布局的三種機(jī)制

網(wǎng)頁布局的核心---就是用CSS來擺放盒子。

CSS 提供了 3 種機(jī)制來設(shè)置盒子的擺放位置,分別是普通流(標(biāo)準(zhǔn)流)、浮動定位,其中:

  1. 普通流(標(biāo)準(zhǔn)流)

    • 常用元素:span、a、i、em等

    • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table

    • 塊級元素會獨占一行,從上向下順序排列;

    • 行內(nèi)元素會按照順序,從左到右順序排列,碰到父元素邊緣則自動換行;

  2. 浮動

    • 讓盒子從普通流中起來,主要作用讓多個塊級盒子一行顯示。

  3. 定位

    • 將盒子在瀏覽器的某一個置——CSS 離不開定位,特別是后面的 js 特效。

概念及作用

概念:元素的浮動是指設(shè)置了浮動屬性的元素

  1. 脫離標(biāo)準(zhǔn)普通流的控制

  2. 移動到指定位置。

作用

  1. 讓多個盒子(div)水平排列成一行,使得浮動成為布局的重要手段。

  2. 可以實現(xiàn)盒子的左右對齊等等..

  3. 浮動最早是用來控制圖片,實現(xiàn)文字環(huán)繞圖片的效果。

選擇器 {
float: 屬性值;
}
屬性值描述
none元素不浮動(默認(rèn)值
left元素向浮動
right元素向浮動
  • float 屬性會讓盒子漂浮在標(biāo)準(zhǔn)流的上面,所以第二個標(biāo)準(zhǔn)流的盒子跑到浮動盒子的底下了。

  • float屬性會改變元素display屬性。

  • 浮動的元素互相貼靠一起的,但是如果父級寬度裝不下這些浮動的盒子, 多出的盒子會另起一行對齊。

  • 浮動元素會改變display屬性, 類似轉(zhuǎn)換為了行內(nèi)塊,但是元素之間沒有空白縫隙

浮動元素與父盒子的關(guān)系

  • 子盒子的浮動參照父盒子對齊

  • 不會與父盒子的邊框重疊, 也不會超過父盒子的內(nèi)邊距。

浮動元素與兄弟盒子的關(guān)系

在一個父級盒子中, 如果前一個兄弟盒子是:

  • 浮動的, 那么當(dāng)前盒子會與前一個盒子的頂部對齊。

  • 普通流, 那么當(dāng)前盒子會顯示在前一個兄弟盒子的下方。

  • 浮動只會影響當(dāng)前的或者是后面的標(biāo)準(zhǔn)流盒子,不會影響前面的標(biāo)準(zhǔn)流。

清除浮動

  • 由于浮動元素不再占用原文檔流的位置,所以它會對后面的元素排版產(chǎn)生影響

  • 準(zhǔn)確地說,并不是清除浮動,而是清除浮動后造成的影響

  • 清除浮動主要為了解決父級元素因為子級浮動引起內(nèi)部高度為0 的問題。清除浮動之后, 父級就會根據(jù)浮動的子盒子自動檢測高度。父級有了高度,就不會影響下面的標(biāo)準(zhǔn)流了

清除浮動的方法

在CSS中, clear屬性用于清除浮動。

語法一:

選擇器 {
clear: 屬性值;
/* clear 清除 */
}
屬性值描述
left不允許左側(cè)有浮動元素(清除左側(cè)浮動的影響)
right不允許右側(cè)有浮動元素(清除右側(cè)浮動的影響)
both同時清除左右兩側(cè)浮動的影響

語法二(額外標(biāo)簽法):

是W3C推薦的做法是通過在浮動元素末尾添加一個空的標(biāo)簽例如 <div style=”clear:both”></div>,或則其他標(biāo)簽br等亦可。

語法三(父級添加overflow屬性方法):

可以給父級添加: overflow: hidden | auto | scroll都可以實現(xiàn)。

語法四(使用after偽元素清除浮動):

:after 方式為空元素額外標(biāo)簽法的升級版

.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é):

  • 用途:

    1. 父級沒有高度。

    2. 子盒子浮動。

    3. 影響下面布局。

清除浮動的方式優(yōu)點缺點
額外標(biāo)簽法(隔墻法)通俗易懂,書寫方便添加許多無意義的標(biāo)簽,結(jié)構(gòu)化較差。
父級overflow:hidden;書寫簡單溢出隱藏
父級after偽元素結(jié)構(gòu)語義化正確由于IE6-7不支持:after,兼容性問題
父級雙偽元素結(jié)構(gòu)語義化正確由于IE6-7不支持:after,兼容性問題

定位(position)

將盒子在某一個置 自由的漂浮在其他盒子(包括標(biāo)準(zhǔn)流和浮動)的上面

定位組成:

定位 = 定位模式 + 邊偏移

邊偏移

在 CSS 中,通過 top、bottom、leftright 屬性定義元素的邊偏移:(方位名詞)

邊偏移屬性示例描述
toptop: 80px頂端偏移量,定義元素相對于其父元素上邊線的距離。
bottombottom: 80px底部偏移量,定義元素相對于其父元素下邊線的距離。
leftleft: 80px左側(cè)偏移量,定義元素相對于其父元素左邊線的距離。
rightright: 80px右側(cè)偏移量,定義元素相對于其父元素右邊線的距離

定位模式

在 CSS 中,通過 position 屬性定義元素的定位模式,語法如下:

選擇器 { position: 屬性值; }

定位模式是有不同分類的,在不同情況下,我們用到不同的定位模式。

語義
static靜態(tài)定位
relative相對定位
absolute絕對定位
fixed固定定位
靜態(tài)定位(static)
  • 靜態(tài)定位是元素的默認(rèn)定位方式,無定位的意思。它相當(dāng)于 border 里面的none, 不要定位的時候用。

  • 靜態(tài)定位 按照標(biāo)準(zhǔn)流特性擺放位置,它沒有邊偏移。

  • 靜態(tài)定位在布局時我們幾乎不用的

相對定位(realative)
  • 相對于 自己原來在標(biāo)準(zhǔn)流中位置來移動的

  • 原來在標(biāo)準(zhǔn)流的區(qū)域繼續(xù)占有,后面的盒子仍然以標(biāo)準(zhǔn)流的方式對待它。

絕對定位(sbsolute)

絕對定位是元素以帶有定位的父級元素來移動位置

  1. 完全脫標(biāo) ---- 不占位置。

  2. 父元素沒有定位, 則以瀏覽器為準(zhǔn)定位(Document文檔)

  3. 父元素需要有定位。將元素依據(jù)最近的已經(jīng)定位(絕對、固定或相對定位)的父元素(祖先)進(jìn)行定位。

  • 子級絕對定位,父級要用相對定位。

固定定位(fixed)
  1. 完全脫標(biāo) —— 完全不占位置;

  2. 只認(rèn)瀏覽器的可視窗口 —— 瀏覽器可視窗口 + 邊偏移屬性 來設(shè)置元素的位置;

    • 跟父元素沒有任何關(guān)系;單獨使用的

    • 不隨滾動條滾動。

  • 提示:IE 6 等低版本瀏覽器不支持固定定位。

絕對定位的盒子居中

注意絕對定位/固定定位的盒子不能通過設(shè)置 margin: auto 設(shè)置水平居中。

left: 50%;:/*讓盒子的左側(cè)移動到父級元素的水平中心位置。*/
margin-left: -100px;:/*讓盒子向左移動自身寬度的一半。*/

堆疊順序(z-index)

在使用定位布局時,可能會出現(xiàn)盒子重疊的情況。

加了定位的盒子,默認(rèn)后來者居上, 后面的盒子會壓住前面的盒子。

應(yīng)用 z-index 層疊等級屬性可以調(diào)整盒子的堆疊順序。

z-index 的特性如下:

  1. 屬性值正整數(shù)負(fù)整數(shù)0,默認(rèn)值是 0,數(shù)值越大,盒子越靠上;

  2. 如果屬性值相同,則按照書寫順序,后來居上;

  3. 數(shù)字后面不能加單位。

注意z-index 只能應(yīng)用于相對定位、絕對定位固定定位的元素,其他標(biāo)準(zhǔn)流、浮動靜態(tài)定位無效。

定位改變display屬性

display 是顯示模式, 可以改變顯示模式有以下方式:

  • 可以用inline-block 轉(zhuǎn)換為行內(nèi)塊

  • 可以用浮動 float 默認(rèn)轉(zhuǎn)換為行內(nèi)塊(類似,并不完全一樣,因為浮動是脫標(biāo)的)

  • 絕對定位和固定定位也和浮動類似, 默認(rèn)轉(zhuǎn)換的特性 轉(zhuǎn)換為行內(nèi)塊。

  • 注意

    • 浮動元素、絕對定位(固定定位)元素的都不會觸發(fā)外邊距合并的問題。 (我們以前是用padding border overflow解決的)

定位小結(jié)

定位模式是否脫標(biāo)占有位置移動位置基準(zhǔn)模式轉(zhuǎn)換(行內(nèi)塊)使用情況
靜態(tài)static不脫標(biāo),正常模式正常模式不能幾乎不用
相對定位relative不脫標(biāo),占有位置相對自身位置移動不能基本單獨使用
絕對定位absolute完全脫標(biāo),不占有位置相對于定位父級移動位置要和定位父級元素搭配使用
固定定位fixed完全脫標(biāo),不占有位置相對于瀏覽器移動位置單獨使用,不需要父級

注意

  1. 邊偏移需要和定位模式聯(lián)合使用,單獨使用無效;

  2. topbottom 不要同時使用;

  3. leftright 不要同時使用。

元素的顯示與隱藏

display顯示

  • display設(shè)置或檢索對象是否及如何顯示。

    display: none; /* 隱藏對象 */
    
    display: block /* 除了轉(zhuǎn)換為塊級元素之外,同時還有顯示元素的意思。 */

    特點: 隱藏之后,不再保留位置。

visibility 可見性

  • 設(shè)置或檢索是否顯示對象。

    visibility: visible; /* 對象可見 */ 
    
    visibility: hidden; /* 對象隱藏 */

    特點: 隱藏之后,繼續(xù)保留原有位置。

overflow溢出

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

屬性值描述
visible不剪切內(nèi)容也不添加滾動條
hidden不顯示超過對象尺寸的內(nèi)容,超出的部分隱藏掉
scroll不管超出內(nèi)容否,總是顯示滾動條
auto超出自動顯示滾動條,不超出不顯示滾動條

顯示與隱藏總結(jié)

屬性區(qū)別用途
display隱藏對象,不保留位置配合后面js做特效,比如下拉菜單,原先沒有,鼠標(biāo)經(jīng)過,顯示下拉菜單, 應(yīng)用極為廣泛
visibility隱藏對象,保留位置使用較少
overflow只是隱藏超出大小的部分1. 可以清除浮動 2. 保證盒子里面的內(nèi)容不會超出該盒子范圍

CSS用戶界面樣式

鼠標(biāo)樣式cursor

設(shè)置或檢索在對象上移的鼠標(biāo)指針采用何種系統(tǒng)預(yù)定義的光標(biāo)形狀

屬性值描述
default小白 默認(rèn)
pointer小手
move移動
text文本
not-allowed禁止
  • 例如

    <ul>
      <li style="cursor:default">我是小白</li>
      <li style="cursor:pointer">我是小手</li>
      <li style="cursor:move">我是移動</li>
      <li style="cursor:text">我是文本</li>
      <li style="cursor:not-allowed">我是文本</li>
    </ul>

輪廓線 outline

是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用。

outline: outline-color || outline-style || outline-width

/* 去除  */
outline: 0;   或者  outline: none;

防止拖拽文本域 resize

<textarea  style="resize: none;"></textarea>

用戶界面樣式總結(jié)

屬性用途用途
鼠標(biāo)樣式更改鼠標(biāo)樣式cursor樣式很多,重點記住 pointer
輪廓線表單默認(rèn)outlineoutline 輪廓線,我們一般直接去掉,border是邊框,我們會經(jīng)常用
防止拖拽主要針對文本域resize防止用戶隨意拖拽文本域,造成頁面布局混亂,我們resize:none

vertical-align 垂直對齊

vertical-align 垂直對齊,它只針對于行內(nèi)元素或者行內(nèi)塊元素,

vertical-align : baseline |top |middle |bottom

注意:

  • vertical-align 不影響塊級元素中的內(nèi)容對齊,它只針對于行內(nèi)元素或者行內(nèi)塊元素,

  • 特別是行內(nèi)塊元素, 通常用來控制圖片/表單與文字的對齊。

圖片、表單和文字對齊

通過vertical-align 控制圖片和文字的垂直關(guān)系了。 默認(rèn)的圖片會和文字基線對齊。

去除圖片底側(cè)空白縫隙

圖片或者表單等行內(nèi)塊元素,他的底線會和父級盒子的基線對齊。就是圖片底側(cè)會有一個空白縫隙。

解決:

  • 給img vertical-align:middle | top| bottom等等。 讓圖片不要和基線對齊。

  • 給img 添加 display:block; 轉(zhuǎn)換為塊級元素就不會存在問題了。

溢出的文字省略號顯示

whithe-space

white-space設(shè)置或檢索對象內(nèi)文本顯示方式。通常我們使用于強(qiáng)制一行顯示內(nèi)容

white-space:normal ;
/* 默認(rèn)處理方式 */

white-space:nowrap ; 
/* 強(qiáng)制在同一行內(nèi)顯示所有文本,直到文本結(jié)束或者遭遇br標(biāo)簽對象才換行。 */

text-overflow 文字溢出

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

text-overflow : clip ;
/* 不顯示省略標(biāo)記(...),而是簡單的裁切 */

text-overflow:ellipsis ; 
/* 當(dāng)對象內(nèi)文本溢出時顯示省略標(biāo)記(...)*/

總結(jié)

  /*1. 先強(qiáng)制一行內(nèi)顯示文本*/
      white-space: nowrap;
  /*2. 超出的部分隱藏*/
      overflow: hidden;
  /*3. 文字用省略號替代超出的部分*/
      text-overflow: ellipsis;

CSS精靈技術(shù) (sprite)

為了有效地減少服務(wù)器接受和發(fā)送請求的次數(shù),提高頁面的加載速度。

  • CSS 精靈其實是將網(wǎng)頁中的一些背景圖像整合到一張大圖中(精靈圖),然而,各個網(wǎng)頁元素通常只需要精靈圖中不同位置的某個小圖,要想精確定位到精靈圖中的某個小圖。

使用方法

首先我們知道,css精靈技術(shù)主要針對于背景圖片,插入的圖片img 是不需要這個技術(shù)的。

我們需要使用CSS的

  • background-image、

  • background-repeat

  • background-position屬性進(jìn)行背景定位,

  • 其中最關(guān)鍵的是使用background-position 屬性精確地定位。

  1. 精確測量,每個小背景圖片的大小和 位置。

  2. 給盒子指定小背景圖片時, 背景定位基本都是 負(fù)值。

滑動門

為了使各種特殊形狀的背景能夠自適應(yīng)元素中文本內(nèi)容的多少,出現(xiàn)了CSS滑動門技術(shù)。它從新的角度構(gòu)建頁面,使各種特殊形狀的背景能夠自由拉伸滑動,以適應(yīng)元素內(nèi)部的文本內(nèi)容,可用性更強(qiáng)。 最常見于各種導(dǎo)航欄的滑動門。

使用方法

核心技術(shù)就是利用CSS精靈(主要是背景位置)和 盒子padding撐開寬度, 以便能適應(yīng)不同字?jǐn)?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é):

  1. a 設(shè)置 背景左側(cè),padding撐開合適寬度。

  2. span 設(shè)置背景右側(cè), padding撐開合適寬度 剩下由文字繼續(xù)撐開寬度。

  3. 之所以a包含span就是因為 整個導(dǎo)航都是可以點擊的。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Web前端溫故知新
「學(xué)習(xí)筆記」CSS基礎(chǔ)
CSS簡述
(辦公)html5與css3的相關(guān)知識
代碼學(xué)習(xí)群簡易教程(37)
1 x證書Web前端開發(fā)初級理論考試試卷三(1)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服