日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

web前端学习之——页面美妆师css3基础篇

發布時間:2024/3/13 HTML 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web前端学习之——页面美妆师css3基础篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

頁面美妝師css3基礎

結構(html)與樣式(css)相分離

1.css基本語法規范

1.1 行內式(內聯樣式)

是通過標簽的style屬性來設置元素的樣式

<標簽名 style="屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3;"> 內容 </標簽名>

1.2 內部樣式表(內嵌樣式表)

是將CSS代碼集中寫在HTML文檔的head頭部標簽中,并且用style標簽定義

<head> <style type="text/CSS"> 選擇器(選擇的標簽) { 屬性1: 屬性值1; 屬性2: 屬性值2; 屬性3: 屬性值3; } </style> </head>

1.3 外部樣式表(外鏈式)

是將所有的樣式放在一個或多個以**.CSS**為擴展名的外部樣式表文件中,

通過link標簽將外部樣式表文件鏈接到HTML文檔中

<head> <link rel="stylesheet" type="text/css" href="css文件路徑"> </head> 樣式表優點缺點使用情況控制范圍
行內樣式表書寫方便,權重高沒有實現樣式和結構相分離較少控制一個標簽(少)
內部樣式表部分結構和樣式相分離沒有徹底分離較多控制一個頁面(中)
外部樣式表完全實現結構和樣式相分離需要引入最多,強烈推薦控制整個站點(多)

2.常用的選擇器用法與技巧

2.1 標簽選擇器

  • 概念:

    標簽選擇器(元素選擇器)是指用HTML標簽名稱作為選擇器,按標簽名稱分類,為頁面中某一類標簽指定統一的CSS樣式。

  • 語法:

標簽名{屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }
  • 作用:

    標簽選擇器 可以把某一類標簽全部選擇出來 比如所有的div標簽 和 所有的 span標簽

  • 優點:

    是能快速為頁面中同類型的標簽統一樣式

  • 缺點:

    不能設計差異化樣式。

2.2 類選擇器

類選擇器使用“.”(英文點號)進行標識,后面緊跟類名.

  • 語法:

    • 類名選擇器
    .類名 { 屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }
    • 標簽
    <p class='類名'></p>
  • 優點:

    • 可以為元素對象定義單獨或相同的樣式。 可以選擇一個或者多個標簽
  • 注意

    • 類選擇器使用“.”(英文點號)進行標識,后面緊跟類名(自定義,我們自己命名的)
    • 長名稱或詞組可以使用中橫線來為選擇器命名。
    • 不要純數字、中文等命名, 盡量使用英文字母來表示。
    多類名
  • 各個類名中間用空格隔開。

  • 多類名選擇器在后期布局比較復雜的情況下,還是較多使用的。

2.3 id 選擇器

id選擇器使用#進行標識,后面緊跟id名

  • 其基本語法格式如下:

    • id選擇器

      #id名 {屬性1:屬性值1; 屬性2:屬性值2; 屬性3:屬性值3; }
    • 標簽

      <p id="id名"></p>
  • 元素的id值是唯一的,只能對應于文檔中某一個具體的元素。

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

2.4 通配符選擇器

  • 概念

    通配符選擇器用*號表示, * 就是 選擇所有的標簽 他是所有選擇器中作用范圍最廣的,能匹配頁面中所有的元素。

  • 其基本語法格式如下:

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

例如下面的代碼,使用通配符選擇器定義CSS樣式,清除所有HTML標記的默認邊距。

* { margin: 0; /* 定義外邊距*/ padding: 0; /* 定義內邊距*/}
  • 注意:

    會匹配頁面所有的元素,降低頁面響應速度,不建議隨便使用

基礎選擇器總結

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

3.復合選擇器

3.1 后代選擇器

  • 概念:

    后代選擇器又稱為包含選擇器

  • 作用:

    用來選擇元素或元素組的子孫后代

  • 其寫法就是把外層標簽寫在前面,內層標簽寫在后面,中間用空格分隔,先寫父親爺爺,在寫兒子孫子。

父級 子級{屬性:屬性值;屬性:屬性值;}
  • 語法:
.class h3{color:red;font-size:16px;}![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210428142652508.png#pic_center)

  • 當標簽發生嵌套時,內層標簽就成為外層標簽的后代。
  • 子孫后代都可以這么選擇。 或者說,它能選擇任何包含在內 的標簽

3.2 子元素選擇器

  • 作用:

    子元素選擇器只能選擇作為某元素**子元素(親兒子)**的元素。

  • 其寫法就是把父級標簽寫在前面,子級標簽寫在后面,中間跟一個 > 進行連接

  • 語法:

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

3.3 交集選擇器

  • 條件

    交集選擇器由兩個選擇器構成,找到的標簽必須滿足:既有標簽一的特點,也有標簽二的特點。

  • 語法:

  • 其中第一個為標簽選擇器,第二個為class選擇器,兩個選擇器之間不能有空格,如h3.special。

3.4 并集選擇器

  • 應用:
    • 如果某些選擇器定義的相同樣式,就可以利用并集選擇器,可以讓代碼更簡潔。
  • 并集選擇器(CSS選擇器分組)是各個選擇器通過,連接而成的,通常用于集體聲明。
  • 語法:

  • 任何形式的選擇器(包括標簽選擇器、class類選擇器id選擇器等),都可以作為并集選擇器的一部分。

  • 記憶技巧:

    并集選擇器通常用于集體聲明 ,逗號隔開的,所有選擇器都會執行后面樣式,逗號可以理解為 和的意思。

3.5 鏈接偽類選擇器

作用:

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

因為偽類選擇器很多,比如鏈接偽類,結構偽類等等。我們這里先給大家講解鏈接偽類選擇器。

  • a:link /* 未訪問的鏈接 */

  • a:visited /* 已訪問的鏈接 */

  • a:hover /* 鼠標移動到鏈接上 */

  • a:active /* 選定的鏈接 */

    注意

  • 寫的時候,他們的順序盡量不要顛倒 按照 lvha 的順序。否則可能引起錯誤。
  • 記憶法
    • love hate 愛上了討厭
    • **lv **包包 非常 hao
  • 因為叫鏈接偽類,所以都是 利用交集選擇器 a:link a:hover
  • 因為a鏈接瀏覽器具有默認樣式,所以我們實際工作中都需要給鏈接單獨指定樣式。
  • 實際工作開發中,我們很少寫全四個狀態,

復合選擇器總結

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

4.css三大特性

4.1 css層疊性
  • 概念:

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

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

  • 原則:

    • 樣式沖突,遵循的原則是就近原則。 那個樣式離著結構近,就執行那個樣式。
    • 樣式不沖突,不會層疊
4.2 css繼承性
  • 概念:

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

    想要設置一個可繼承的屬性,只需將它應用于父元素即可。

簡單的理解就是: 子承父業。

  • 注意
    • 恰當地使用繼承可以簡化代碼,降低CSS樣式的復雜性。比如有很多子級孩子都需要某個樣式,可以給父級指定一個,這些孩子繼承過來就好了。
    • 子元素可以繼承父元素的樣式(text-,font-,line-這些元素開頭的可以繼承,以及color屬性
4.3 css優先級

概念:

定義CSS樣式時,經常出現兩個或更多規則應用在同一元素上,此時,

  • 選擇器相同,則執行層疊性
  • 選擇器不同,就會出現優先級的問題。

1>. 權重計算公式

標簽選擇器計算權重公式
繼承或者 *0,0,0,0
每個元素(標簽選擇器)0,0,0,1
每個類,偽類0,0,1,0
每個ID0,1,0,0
每個行內樣式 style=""1,0,0,0
每個!important 重要的∞ 無窮大

2>. 權重疊加

我們經常用交集選擇器,后代選擇器等,是有多個基礎選擇器組合而成,那么此時,就會出現權重疊加。

注意:

  • 數位之間沒有進制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不會存在10個div能趕上一個類選擇器的情況。
  • 3>. 繼承權重為0

    1) 如果選中了,那么以上面的公式來計權重。誰大聽誰的。
    2) 如果沒有選中,那么權重是0,因為繼承的權重為0.

    CSS注釋規則:

    /* 需要注釋的內容 */ 進行注釋的,即在需要注釋的內容前使用 "/*" 標記開始注釋,在內容的結尾使用 "*/"結束。

    標簽顯示模式*

    1). 塊級元素
    • 塊級元素的特點

    (1)比較霸道,自己獨占一行

    (2)高度,寬度、外邊距以及內邊距都可以控制。

    (3)寬度默認是容器(父級寬度)的100%

    (4)是一個容器及盒子,里面可以放行內或者塊級元素。

    • 注意:
      • 只有 文字才 能組成段落 因此 p 里面不能放塊級元素,特別是 p 不能放div
      • 同理還有這些標簽h1,h2,h3,h4,h5,h6,dt,他們都是文字類塊級標簽,里面不能放其他塊級元素。
    2). 行內元素
    • 行內元素的特點:

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

    (2)高、寬直接設置是無效的。

    (3)默認寬度就是它本身內容的寬度。

    (4)行內元素只能容納文本或則其他行內元素。

    注意:

    • 鏈接里面不能再放鏈接。
    • 特殊情況a里面可以放塊級元素,但是給a轉換一下塊級模式最安全。
    3). 行內塊元素

    行內塊元素的特點:

    (1)和相鄰行內元素(行內塊)在一行上,但是之間會有空白縫隙。一行可以顯示多個
    (2)默認寬度就是它本身內容的寬度。
    (3)高度,行高、外邊距以及內邊距都可以控制。

    *顯示模式總結

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

    行高 = 上距離 + 內容高度 + 下距離

    行高和高度的三種關系

    • 如果 行高 等 高度 文字會 垂直居中
    • 如果行高 大于 高度 文字會 偏下
    • 如果行高小于高度 文字會 偏上

    @css字體樣式屬性

    ① font字體

    1.1 font-size:大小

    • 作用:

      font-size屬性用于設置字號

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

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

    1.2 font-family:字體

    • 作用:

      font-family屬性用于設置哪一種字體。

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

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

    • 各種字體之間必須使用英文狀態下的逗號隔開。
    • 中文字體需要加英文狀態下的引號,英文字體一般不需要加引號。當需要設置英文字體時,英文字體名必須位于中文字體名之前。
    • 如果字體名中包含空格、#、$等符號,則該字體必須加英文狀態下的單引號或雙引號,例如font-family: “Times New Roman”;。
    • 盡量使用系統默認字體,保證在任何用戶的瀏覽器中都能正確顯示。

    1.3 font-weight:字體粗細

    • 在html中如何將字體加粗我們可以用標簽來實現

      • 使用 b 和 strong 標簽是文本加粗。
    • 可以使用CSS 來實現,但是CSS 是沒有語義的。

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

    1.4 font-style:字體風格

    • 在html中如何將字體傾斜我們可以用標簽來實現
      • 字體傾斜除了用 i 和 em 標簽,
    • 可以使用CSS 來實現,但是CSS 是沒有語義的

    font-style屬性用于定義字體風格,如設置斜體、傾斜或正常字體,其可用屬性值如下:

    屬性作用
    normal默認值,瀏覽器會顯示標準的字體樣式 font-style: normal;
    italic瀏覽器會顯示斜體的字體樣式。

    font:綜合設置

    • 基本語法格式如下:
    選擇器 { font: font-style font-weight font-size/line-height font-family;}
    • 注意:
      • 使用font屬性時,必須按上面語法格式中的順序書寫,不能更換順序,各個屬性以空格隔開。
      • 其中不需要設置的屬性可以省略(取默認值),但必須保留font-size和font-family屬性,否則font屬性將不起作用。

    {font總結}

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

    2.1 color:文本顏色

    • 作用:

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

    • 其取值方式有如下3種:

    表示表示屬性值
    預定義的顏色值red,green,blue,還有我們的御用色 pink
    十六進制#FF0000,#FF6600,#29D794
    RGB代碼rgb(255,0,0)或rgb(100%,0%,0%)
    • 注意

      我們實際工作中, 用 16進制的寫法是最多的,而且我們更喜歡簡寫方式比如 #f00 代表紅色

    2.2 text-align:文本對齊方式

    • 作用:

      text-align屬性用于設置文本內容的水平對齊,相當于html中的align對齊屬性

    • 其可用屬性值如下:

    屬性解釋
    left左對齊(默認值)
    right右對齊
    center居中對齊
    • 注意:

      是讓盒子里面的內容水平居中, 而不是讓盒子居中對齊

    2.3 line-height:行間距

    • 作用:

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

    • 單位:

      line-height常用的屬性值單位有三種,分別為像素px,相對值em和百分比%,實際工作中使用最多的是像素px

    • 技巧:一般情況下,行距比字號大7.8像素左右就可以了。
      line-height: 24px;

    2.4 text-indent:首行縮進

    • 作用:

      text-indent屬性用于設置首行文本的縮進,

    • 屬性值

      • 其屬性值可為不同單位的數值、em字符寬度的倍數、或相對于瀏覽器窗口寬度的百分比%,允許使用負值,
      • 建議使用em作為設置單位。

    2.5 text-decoration:文本的裝飾

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

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

    {css外觀屬性總結}

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

    **頁面升級化妝師css3進階

    1.css盒子模型

    所謂盒子模型:就是把HTML頁面中的布局元素看作是一個矩形的盒子,也就是一個盛裝內容的容器。

    • 盒子模型有元素的內容、邊框(border)、內邊距(padding)、和外邊距(margin)組成。
    • 盒子里面的文字和圖片等元素是 內容區域
    • 盒子的厚度 我們成為 盒子的邊框
    • 盒子內容與邊框的距離是內邊距(類似單元格的 cellpadding)
    • 盒子與盒子之間的距離是外邊距(類似單元格的 cellspacing)

    盒子邊框border

    border : border-width || border-style || border-color

    邊框的樣式:

    • none:沒有邊框即忽略所有邊框的寬度(默認值)
    • solid:邊框為單實線(最為常用的)
    • dashed:邊框為虛線
    • dotted:邊框為點線
    上邊框下邊框左邊框右邊框
    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:寬度 樣式 顏色;

    內邊距padding

    padding屬性用于設置內邊距。 是指 邊框與內容之間的距離。

    padding:; 值的個數表達意思
    1個值padding:上下左右內邊距;
    2個值padding: 上下內邊距 左右內邊距 ;
    3個值padding:上內邊距 左右內邊距 下內邊距;
    4個值padding: 上內邊距 右內邊距 下內邊距 左內邊距 ;

    外邊距margin

    margin屬性用于設置外邊距。 margin就是控制盒子和盒子之間的距離

    margin:; 值的個數表達意思
    1個值margin:上下左右外邊距;
    2個值margin: 上下外邊距 左右外邊距 ;
    3個值margin:上外邊距 左右外邊距 下外邊距;
    4個值margin: 上外邊距 右外邊距 下外邊距 左外邊距 ;

    塊級盒子水平居中

    常見的寫法,以下下三種都可以。

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

    2.css背景技巧

    • 背景顏色(backgroung-color)

      background-color:顏色值; 默認的值是 transparent 透明的
    • 背景圖片(backgroung-image)

      background-image : none | url (url) 參數作用
      none無背景圖(默認的)
      url使用絕對或相對地址指定背景圖像
    • 背景平鋪(backgroung-repeat)

      background-repeat : repeat | no-repeat | repeat-x | repeat-y 參數作用
      repeat背景圖像在縱向和橫向上平鋪(默認的)
      no-repeat背景圖像不平鋪
      repeat-x背景圖像在橫向上平鋪
      repeat-y背景圖像在縱向平鋪
    • 背景位置(backgroung-position)

      background-position : length || lengthbackground-position : position || position 參數值
      length百分數 | 由浮點數字和單位標識符組成的長度值
      positiontop | center | bottom | left | center | right 方位名詞

      注意:

      • 必須先指定background-image屬性
      • position 后面是x坐標和y坐標。 可以使用方位名詞或者 精確單位。
      • 如果指定兩個值,兩個值都是方位名字,則兩個值前后順序無關,比如left top和top left效果一致
      • 如果只指定了一個方位名詞,另一個值默認居中對齊。
      • 如果position 后面是精確坐標, 那么第一個,肯定是 x 第二的一定是y
      • 如果只指定一個數值,那該數值一定是x坐標,另一個默認垂直居中
      • 如果指定的兩個值是 精確單位和方位名字混合使用,則第一個值是x坐標,第二個值是y坐標
    • 背景附著(backgroung-attachment)

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

      background-attachment : scroll | fixed
    • 背景透明

      background: rgba(0, 0, 0, 0.3);
    • 背景簡寫

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

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

      背景總結

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

    3.圓角/陰影/過渡

    • css3圓角

      border-radius:length(數值或百分比);
    • css3陰影

      box-shadow:水平陰影 垂直陰影 模糊距離(虛實) 陰影尺寸(影子大小) 陰影顏色 內/外陰影;
    • css3過渡

      可以在不使用 Flash 動畫或 JavaScript 的情況下,當元素從一種樣式變換為另一種樣式時為元素添加效果。

      transition:all(其他屬性) .3s(時間); 屬性描述
      transition簡寫屬性,用于在一個屬性中設置四個過渡屬性。
      transition-property規定應用過渡的 CSS 屬性的名稱。
      transition-duration定義過渡效果花費的時間。默認是 0。
      transition-timing-function規定過渡效果的時間曲線。默認是 “ease”。
      transition-delay規定過渡效果何時開始。默認是 0。

    4.定位和浮動

    ? ——css布局的三種機制

  • 普通流(標準流)
    • 塊級元素會獨占一行,從上向下順序排列;
      • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
    • 行內元素會按照順序,從左到右順序排列,碰到父元素邊緣則自動換行;
      • 常用元素:span、a、i、em等
  • 浮動
    • 讓盒子從普通流中起來,主要作用讓多個塊級盒子一行顯示。
  • 定位
    • 將盒子在瀏覽器的某一個置——CSS 離不開定位,特別是后面的 js 特效。
  • ①. 浮動

    1.1 浮動
  • 讓多個盒子(div)水平排列成一行,使得浮動成為布局的重要手段。
  • 可以實現盒子的左右對齊等等…
  • 浮動最早是用來控制圖片,實現文字環繞圖片的效果
  • 1). 浮動口訣之 浮

    浮動——浮浮~~~漂浮在普通流的上面。 脫離標準流。 俗稱 “脫標”

    2). 浮動口訣之 漏

    浮動——漏漏~ 浮動的盒子,把自己原來的位置漏給下面標準流的盒子,就是不占有原來位置,是脫離標準流的,我們俗稱 “脫標”。

    3). 浮動口訣之 特

    浮動——特性 float屬性會改變元素display屬性。

    任何元素都可以浮動。浮動元素會生成一個塊級框,而不論它本身是何種元素。 生成的塊級框和我們前面的行內塊極其相似。

    特點說明
    加了浮動的盒子是浮起來的,漂浮在其他標準流盒子的上面。
    加了浮動的盒子是不占位置的,它原來的位置漏給了標準流的盒子
    特別注意:浮動元素會改變display屬性, 類似轉換為了行內塊,但是元素之間沒有空白縫隙

    1). 浮動元素與父盒子的關系

    • 子盒子的浮動參照父盒子對齊
    • 不會與父盒子的邊框重疊,也不會超過父盒子的內邊距

    2). 浮動元素與兄弟盒子的關系

    • 浮動的,那么當前盒子會與前一個盒子的頂部對齊;
    • 普通流的,那么當前盒子會顯示在前一個兄弟盒子的下方。
    1.2. 清楚浮動

    因為父級盒子很多情況下,不方便給高度,但是子盒子浮動就不占有位置,最后父級盒子高度為0,就影響了下面的標準流盒子。

    1).額外標簽法(隔墻法)
    是W3C推薦的做法是通過在浮動元素末尾添加一個空的標簽例如 <div style=”clear:both”></div>,或則其他標簽br等亦可。
    • 優點: 通俗易懂,書寫方便
    • 缺點: 添加許多無意義的標簽,結構化較差。
    2).父級添加overflow屬性方法
    可以給父級添加: overflow為 hidden| auto| scroll 都可以實現。

    優點: 代碼簡潔

    缺點: 內容增多時候容易造成不會自動換行導致內容被隱藏掉,無法顯示需要溢出的元素。

    3).使用after偽元素清除浮動

    :after 方式為空元素額外標簽法的升級版,好處是不用單獨加標簽了

    使用方法:

    .clearfix:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; } .clearfix {*zoom: 1;} /* IE6、7 專有 */
    • 優點: 符合閉合浮動思想 結構語義化正確
    • 缺點: 由于IE6-7不支持:after,使用 zoom:1觸發 hasLayout。
    • 代表網站: 百度、淘寶網、網易等
    4).使用雙偽元素清除浮動

    使用方法:

    .clearfix:before,.clearfix:after { content:""; display:table; }.clearfix:after { clear:both;}.clearfix { *zoom:1;}
    • 優點: 代碼更簡潔

    • 缺點: 由于IE6-7不支持:after,使用 zoom:1觸發 hasLayout。

    • 代表網站: 小米、騰訊等

    ②. 定位

    作用:將盒子在某一個置 自由的漂浮在其他盒子(包括標準流和浮動)的上面

    2.1 邊偏移
    邊偏移屬性示例描述
    toptop: 80px頂端偏移量,定義元素相對于其父元素上邊線的距離
    bottombottom: 80px底部偏移量,定義元素相對于其父元素下邊線的距離
    leftleft: 80px左側偏移量,定義元素相對于其父元素左邊線的距離
    rightright: 80px右側偏移量,定義元素相對于其父元素右邊線的距離
    2.2 定位模式
    值語義
    static靜態定位
    relative相對定位
    absolute絕對定位
    fixed固定定位
    2.2.1 靜態定位(static) - 了解
    • 靜態定位是元素的默認定位方式,無定位的意思。它相當于 border 里面的none, 不要定位的時候用。
    • 靜態定位 按照標準流特性擺放位置,它沒有邊偏移。
    • 靜態定位在布局時我們幾乎不用的
    2.2.2 相對定位(relative) - 重要

    相對定位是元素相對于它 原來在標準流中的位置 來說的。(自戀型)

    • 相對于 自己原來在標準流中位置來移動的
    • 原來在標準流的區域繼續占有,后面的盒子仍然以標準流的方式對待它。
    2.2.3 絕對定位(absolute) - 重要

    絕對定位是元素以帶有定位的父級元素來移動位置 (拼爹型)

  • 完全脫標 —— 完全不占位置;
  • 父元素沒有定位,則以瀏覽器為準定位(Document 文檔)。
  • 父元素要有定位
    • 將元素依據最近的已經定位(絕對、固定或相對定位)的父元素(祖先)進行定位。
  • 2.2.4 固定定位(fixed) - 重要

    固定定位絕對定位的一種特殊形式: (認死理型) 如果說絕對定位是一個矩形 那么 固定定位就類似于正方形

  • 完全脫標 —— 完全不占位置;
  • 只認瀏覽器的可視窗口 —— 瀏覽器可視窗口 + 邊偏移屬性 來設置元素的位置;
    • 跟父元素沒有任何關系;單獨使用的
    • 不隨滾動條滾動。
  • 定位模式是否脫標占有位置移動位置基準模式轉換(行內塊)使用情況
    靜態static不脫標,正常模式正常模式不能幾乎不用
    相對定位relative不脫標,占有位置相對自身位置移動不能基本單獨使用
    絕對定位absolute完全脫標,不占有位置相對于定位父級移動位置要和定位父級元素搭配使用
    固定定位fixed完全脫標,不占有位置相對于瀏覽器移動位置單獨使用,不需要父級

    5.偽類和偽元素

    • 偽元素和偽類都不會出現在源文檔或者文檔樹中
    • 偽類允許出現在選擇器的任何位置,而一個偽元素只能跟在選擇器的最后一個簡單選擇器后面
    • 偽元素名和偽類名都是大小寫不敏感的
    • 有些偽類是互斥的,而其它的可以同時用在一個元素上。(在規則沖突的情況下,常規層疊順序決定結果)。
    • 偽類的操作對象是文檔樹中已有的元素,而偽元素則創建了一個文檔數外的元素。因此,偽類與偽元素的區別在于:有沒有創建一個文檔樹之外的元素。

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rTKMfzDd-1619590982024)(C:\Users\ChangLian\Desktop\Web前端-筆記\image\14333787-dac5cb3f7528f34e.webp)]

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ygNLvmpD-1619590982027)(C:\Users\ChangLian\Desktop\Web前端-筆記\image\14333787-0ae823b149ed21f1.webp)]

    6.css3漸變

    CSS3 漸變(gradients)可以讓你在兩個或多個指定的顏色之間顯示平穩的過渡。

    • 線性漸變(Linear Gradients)- 向下/向上/向左/向右/對角方向

      background-image: linear-gradient(direction(起始位置), color-stop1, color-stop2, ...);
    • 徑向漸變(Radial Gradients)- 由它們的中心定義

      background-image: radial-gradient(shape size at position(位置處的形狀尺寸), start-color(開始顏色), ..., last-color(結束顏色));

    7.css3的2D和3D變換

    CSS3 轉換可以對元素進行移動、縮放、轉動、拉長或拉伸。

    7.1 、2D轉換

    • **translate()**方法,根據左(X軸)和頂部(Y軸)位置給定的參數,從當前元素位置移動。

      transform:translate(值x,值y);
    • **rotate()**方法,在一個給定度數順時針旋轉的元素。負值是允許的,這樣是元素逆時針旋轉。

      transform:rotate(值deg);
    • **scale()**方法,該元素增加或減少的大小,取決于寬度(X軸)和高度(Y軸)的參數:

      transform:scale(...值);
    • **skew()**方法分別表示X軸和Y軸傾斜的角度,如果第二個參數為空,則默認為0,參數為負表示向相反方向傾斜。

      skewX();表示只在X軸(水平方向)傾斜。

      ? skewY();表示只在Y軸(垂直方向)傾斜。

      transform:skew(...值deg);

      matrix 方法有六個參數,包含旋轉,縮放,移動(平移)和傾斜功能。

    7.2 、3D轉換

    ? 3D轉換必須加透視perspective,否則無法直觀顯示轉換效果。

    函數描述
    matrix3d(n,n,n,n,n,n, n,n,n,n,n,n,n,n,n,n)定義 3D 轉換,使用 16 個值的 4x4 矩陣。
    translate3d(x,y,z)定義 3D 轉化。
    translateX(x)定義 3D 轉化,僅使用用于 X 軸的值。
    translateY(y)定義 3D 轉化,僅使用用于 Y 軸的值。
    translateZ(z)定義 3D 轉化,僅使用用于 Z 軸的值。
    scale3d(x,y,z)定義 3D 縮放轉換。
    scaleX(x)定義 3D 縮放轉換,通過給定一個 X 軸的值。
    scaleY(y)定義 3D 縮放轉換,通過給定一個 Y 軸的值。
    scaleZ(z)定義 3D 縮放轉換,通過給定一個 Z 軸的值。
    rotate3d(x,y,z,angle)定義 3D 旋轉。
    rotateX(angle)定義沿 X 軸的 3D 旋轉。
    rotateY(angle)定義沿 Y 軸的 3D 旋轉。
    rotateZ(angle)定義沿 Z 軸的 3D 旋轉。
    perspective(n)定義 3D 轉換元素的透視視圖。

    8.css3動畫

    動畫是 CSS3 中最具顛覆性的特征之一,可通過設置多個節點來精確的控制一個或者一組動畫,從而實現復雜的動畫效果

  • 動畫的基本使用

    • 先定義動畫
    • 在調用定義好的動畫
  • 語法格式(定義動畫)

    @keyframes 動畫名稱 { 0% { width: 100px; } 100% { width: 200px }}
  • 語法格式(使用動畫)

  • div { /* 調用動畫 */ animation-name: 動畫名稱; /* 持續時間 */ animation-duration: 持續時間;}
  • 動畫序列
    • 0% 是動畫的開始,100 % 是動畫的完成,這樣的規則就是動畫序列
    • 在 @keyframs 中規定某項 CSS 樣式,就由創建當前樣式逐漸改為新樣式的動畫效果
    • 動畫是使元素從一個樣式逐漸變化為另一個樣式的效果,可以改變任意多的樣式任意多的次數
    • 用百分比來規定變化發生的時間,或用 from 和 to,等同于 0% 和 100%
    屬性描述
    @keyframes規定動畫。
    animation所有動畫屬性的簡寫屬性。
    animation-name規定 @keyframes 動畫的名稱。
    animation-duration規定動畫完成一個周期所花費的秒或毫秒。默認是 0。
    animation-timing-function規定動畫的速度曲線。默認是 “ease”。
    animation-fill-mode規定當動畫不播放時(當動畫完成時,或當動畫有一個延遲未開始播放時),要應用到元素的樣式。
    animation-delay規定動畫何時開始。默認是 0。
    animation-iteration-count規定動畫被播放的次數。默認是 1。
    animation-direction規定動畫是否在下一周期逆向地播放。默認是 “normal”。
    animation-play-state規定動畫是否正在運行或暫停。默認是 “running”。
  • 動畫簡寫方式

    /* animation: 動畫名稱 持續時間 運動曲線 何時開始 播放次數 是否反方向 起始與結束狀態 */animation: name duration timing-function delay iteration-count direction fill-mode
  • 知識要點

    • 簡寫屬性里面不包含 animation-paly-state
    • 暫停動畫 animation-paly-state: paused; 經常和鼠標經過等其他配合使用
    • 要想動畫走回來,而不是直接調回來:animation-direction: alternate
    • 盒子動畫結結束后,停在結束位置:animation-fill-mode: forwards
  • 總結

    以上是生活随笔為你收集整理的web前端学习之——页面美妆师css3基础篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。