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

歡迎訪問 生活随笔!

生活随笔

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

CSS

CSS基础(emmet 语法,CSS 复合选择器, 布局认知,背景样式)

發布時間:2024/1/8 CSS 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS基础(emmet 语法,CSS 复合选择器, 布局认知,背景样式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CSS基礎

1. emmet 語法 —— 開發效率

1.1 emmet 語法生成 html 標簽

emmet 的特點和作用是什么?

  • 通過簡寫提高編碼效率。

  • emmet 生成 HTML 結構語法

    序號符號含義示例
    1*N連續生成 N 個div*5
    2父>子生成父子關系結構ul>li*5
    3兄+弟生成兄弟關系結構h1+div*2+h4+p*2
    4.class / #id生成帶 class 或 id 的 div.red / #app
    5tag.class / tag#id生成帶 class 或 id 的 tagp.red / span#nav
    6$*N$ 位置會被連續的數字替換.demo$*5
    7{內容$}標簽內容p{段落$}*5

生成多個相同的標簽用哪個符號?

  • *N div*5

父子關系用哪個符號?兄弟關系用哪個符號?

  • 父>子 ul>li*5
  • 兄+弟 h1+div*2+h4+p*2

帶類名或者 id 的 div 如何編寫?其他標簽呢?

  • .class / #id

自增符號是哪個符號?

  • $*N
  • .demo$*5

標簽內容是哪個符號?

  • {內容$}
  • p{段落$}*5

1.2 emmet 語法快速生成 css 樣式

emmet 生成 css 有什么規律?

  • 常用屬性大多用英文單詞的首字母連寫即可,示例如下:
  • tac → text-align: center;
  • ti2em → text-indent: 2em;
  • lh26px → line-height: 26px;
  • tdn → text-decoration: none;

如何設置寬高?

  • w100 → width: 100px;
  • h200 → height: 200px;

emmet 記不住怎么辦?

  • 不要硬記,以完成代碼為主
  • 會用在開發時能夠快一點,不會用也不至于怎么樣,做出結果最重要!

1.3 快速格式化代碼

你認為程序員編寫出符合規范的代碼重要嗎?為什么?

  • 非常重要
  • 代碼是最好的文檔,代碼的可讀性非常重要,代碼寫得規范,是專業性的體現

「快速格式化代碼」擴展 —— 保存時自動格式化

  • ctrl + , → 首選項 / 設置
  • 輸入 fromat,勾選 Format On Save,如下圖所示:

  • 注意:

    • VSCode 自帶的格式化器能夠在保存時自動格式化 HTML 代碼(包含其中的 CSS)
    • VSCode 自帶的格式化器目前不支持單獨的 CSS 文件做格式化

    2. CSS 復合選擇器 —— 選擇器

    2.1 復合選擇器簡介

    復合選擇器具有什么特點?

    • 對基礎選擇器進行組合
    • 由兩個或多個基礎選擇器,通過不同方式組合而成的

    復合選擇器能解決什么問題?

    • 更準確、更高效的選擇目標元素

    常用的復合選擇器有幾類?

    • 4類,
      分別是:
  • 后代選擇器、
  • 子代選擇器、
  • 并集選擇器、
  • 偽類選擇器
  • 2.2 后代選擇器

    后代選擇器的應用場景是什么?

    • 可以選擇父元素中的子元素

    后代選擇器的語法格式是什么?元素之間使用什么符號分開?

    語法格式:

    選擇器1 選擇器2 {樣式聲明;}
    • 后代選擇器的選擇器之間使用空格分開。

    后代選擇器最終選中的元素是父代元素還是子代元素?

    • 后代選擇器最終選中的元素是子代元素后代元素

    后代選擇器的元素除了使用標簽選擇器,還可以使用其他的基礎選擇器嗎?

    • 可以
    • 后代選擇器中的元素可以是任一一種基礎選擇器
    <style>ol li {color: aqua;}.adv-selector ul li a {color: rgb(255, 0, 0);}</style>

    2.3 子元素選擇器

    子代選擇器的應用場景是什么?

    • 選擇某個元素最近一級的子元素(親兒子)

    子代選擇器的語法格式是什么?元素之間使用什么符號分開?

    • 語法格式

      選擇器1 > 選擇器2 {樣式聲明;}
    • 子代選擇器的選擇器之間使用 > 分開。

    子代選擇器最終選中的元素是父代元素還是子代元素?

    • 子代選擇器最終選中的元素是子代元素

    2.5 并集選擇器

    并集選擇器的應用場景是什么?

    • 集體聲明——選擇多組標簽,同時設置相同的樣式

    并集選擇器的語法格式是什么?元素之間使用什么符號分開?有什么注意點?

    • 語法格式
    選擇器1,選擇器2 {樣式聲明;}
    • 并集選擇器的選擇器之間使用 , 分開,最后一個選擇器不需要逗號
    • 并集選擇器通常會豎式排列選擇器,提高代碼的可讀性

    并集選擇器可以使用后代選擇器子代選擇器嗎?

    • 可以
    <style>div,p,.pig li {color: cyan;}</style>

    2.6 鏈接偽類選擇器(上)

    偽類選擇器使用單冒號 :,是某種狀態下的樣式,例如 :hover 表示鼠標指向元素的狀態。

    鏈接偽類選擇器的應用場景是什么?

    • 針對鏈接的不同狀態設置不同的樣式

    鏈接偽類選擇器一共有幾個,分別表示什么含義?

    • 鏈接偽類選擇器說明
      a:link選擇所有未被訪問的鏈接
      a:visited選擇所有已經被訪問的鏈接
      a:hover選擇鼠標指針位于其上的鏈接
      a:active選擇激活鏈接(鼠標按下未抬起的鏈接
    /* 選擇所有未被訪問的鏈接 */a:link {color: rgb(255, 0, 0);text-decoration: none;}/* 選擇所有已經被訪問的鏈接 */a:visited {color: rgb(255, 238, 0);}/* 選擇鼠標指針位于其上的鏈接 */a:hover {color: skyblue;}/* 選擇激活鏈接(鼠標按下未抬起的鏈接) */a:active {color: green;}

    2.7 鏈接偽類選擇器(下)

    鏈接偽類選擇器的書寫順序有要求嗎?如何記憶?

    • LoVe HAte(愛與恨)

    在實際開發中,需要給 a 標簽單獨設置樣式嗎?為什么?

    • 需要
    • 因為 a 標簽是有點擊跳轉行為的,默認與其他文本的顯示樣式就不相同

    在實際開發中,通常只使用鏈接偽類選擇器的哪一個狀態?為什么?

    • :hover
    • 因為只有鼠標經過鏈接時,與用戶的交互是最直接的
    • 示例代碼如下:
    a {color: #333;text-decoration: none; }a:hover {color: skyblue;text-decoration: underline; }

    2.8 focus 偽類選擇器

    focus 偽類選擇器的應用場景是什么?

    • 在表單中突出顯示當前獲得焦點的表單元素,提升用戶體驗
    input:focus {background-color: rgb(216, 118, 118);color: rgb(72, 255, 0);}

    2.9 復合選擇器總結

    選擇器作用頻率用法示例
    后代找后代較高使用空格分隔 .nav a
    子代找兒子較少使用 > 分隔 .nav>a
    并集找大伙較多使用 , 分隔 .nav, .header
    鏈接偽類鏈接狀態較多a:hover
    focus表單狀態較少input:focus

    3. 元素的顯示模式 —— 布局認知

    3.1 什么是元素顯示模式

    什么是元素顯示模式?HTML 元素一般有幾種顯示模式?

    • 元素以什么方式進行顯示
    • HTML 一般有兩種顯示模式

    猜一猜塊元素行內元素有什么特點?

    • 塊元素獨占一行顯示
    • 行內元素可以一行顯示多個

    3.2 塊元素 —— block

    塊級元素有什么特點?

  • 獨占一行
  • 可以設置寬度高度、外邊距、邊框內邊距
  • 寬度默認是父級容器的寬度
  • 可以存放其他行內元素和塊級元素
  • 塊級元素有什么注意事項?

    • 開發時不要在文本類元素中添加其他元素,專注于文本存放(h1~h6、p)

    常見的塊級元素有哪些?如何驗證?

    • div、ul、ol、li、h1~h6、p
    • 在 HTML 中添加一個盒子,在 Chrome 調試器中驗證是否具有塊級元素特征

    3.3 行內元素 —— inline

    行內元素有什么特點?

  • 相鄰行內元素在一行顯示,一行多個
  • 給行內元素設置寬高是無效的
  • 默認寬度是內容的寬度(被內容撐開)
  • 只能容納文本或其他行內元素
  • 行內元素有什么注意事項?

  • 鏈接不能再放鏈接
  • 特殊情況的鏈接可以存放塊級元素
  • a 標簽中能夠放塊級元素嗎?應用場景是什么?

  • 特殊情況下可以存放塊級元素
  • 應用場景:在電商網站點擊商品列表項跳轉到商品明細項
  • 3.4 行內塊元素 —— inline-block

    行內塊元素有什么特點?

  • 相鄰行內元素在一行顯示,一行多個(行內元素特點)
  • 默認寬度就是本身內容的寬度(行內元素特點)
  • 可以設置寬度、高度、外邊距、邊框內邊距(塊級元素特點)
  • 我們現在學習過的標簽中,有那三個是行內塊元素?

    • img、input、td

    3.5 元素顯示模式總結

    元素模式英文排列方式指定寬高
    塊級元素block一行一個可以
    行內元素inline一行多個,內容撐開不可以
    行內塊元素inline-block一行多個可以

    3.6 顯示模式的轉換

    顯示模式轉換的應用場景是什么?

    • 讓行內元素具有寬高:把行內元素轉換成塊元素或者行內塊元素
    • 讓塊元素一行顯示:把塊元素轉換成行內塊元素

    三種顯示模式轉換的代碼是什么?哪兩個比較重要?

    • display: block 轉換為塊元素
    • display: inline-block 轉換為行內塊元素
    • display: inline 轉化為行內元素(使用較少)
      在寫 CSS 時,記住把 display 轉換顯示模式的設置寫在第一行。

    3.7 簡單小米側邊欄

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>12. 簡單小米側邊欄</title><style>a {display: block;width: 200px;height: 30px;background-color: pink;margin-top: 2px;text-align: center;text-decoration: none;font: normal 100 20px/30px "微軟雅黑";}a:hover {background-color: rgba(224, 127, 0, 0.945);}</style> </head><body><a href="#">手機 電話卡</a><a href="#">電視 盒子</a><a href="#">筆記本 平板</a><a href="#">出行 穿戴</a><a href="#">智能 路由器</a><a href="#">健康 兒童</a><a href="#">耳機 音響</a> </body></html>

    3.8 單行文字垂直居中

    如何實現單行文字的垂直居中?

    • 將 line-height 設置為盒子的高度。

    行高實現原理

    4. 背景圖片 —— 樣式

    4.1 背景顏色

    一般情況下元素的背景顏色是什么?

    • transparent 透明的

    4.2 背景圖片

    背景圖片的應用場景是什么?

  • logo
  • 裝飾圖片
  • 超大圖片
  • 精靈圖(雪碧圖)
  • 背景圖片有什么優點?

    • 非常容易控制位置

    背景圖片的語法是什么?

    background-image: none | url(url);

    指定背景圖片的 url 時需要引號嗎?

    • 不需要

    4.3 背景平鋪

    在使用背景圖片時,默認背景是平鋪的嗎?

    • 默認是平鋪的

    背景平鋪有哪些屬性?

    參數說明
    repeat默認,水平垂直平鋪
    no-repeat不平鋪
    repeat-x水平平鋪
    repeat-y垂直平鋪

    使用了背景圖片還能再指定背景顏色嗎?

    • 可以
    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>背景平鋪</title><style>div {width: 400px;height: 100px;background-image: url(./images/logo.png);background-repeat: repeat;}.no-repeat {width: 400px;height: 100px;background-color: greenyellow;background-image: url(./images/logo.png);background-repeat: no-repeat;}.repeat-x {width: 400px;height: 100px;background-color: rgb(168, 111, 111);background-image: url(./images/logo.png);background-repeat: repeat-x;}.repeat-y {width: 400px;height: 100px;background-color: rgb(0, 132, 255);background-image: url(./images/logo.png);background-repeat: repeat-y;}</style> </head> <body><div></div><div class="no-repeat"></div><div class="repeat-x"></div><div class="repeat-y"></div> </body> </html>

    4.4 背景位置-方位名詞

    哪一個屬性可以改變圖片在背景中的位置?

    • background-position (背景位置)

    使用方位名詞指定背景圖片有順序要求嗎?

    • 沒有
    • 因為從方位名詞能夠分清方向

    方位名詞都分別對應哪些方位?

    • 水平方向:left / right / center
    • 垂直方向:top / bottom / center

    如果指指定了一個方位名詞,第二個值默認如何對齊?

    • 居中對齊

    如何讓背景圖片水平垂直居中?

    • background-position: center;

    4.5 背景位置案例

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>13. 背景位置案例</title><style>h3 {width: 200px;height: 50px;background-color: rgb(180, 155, 155);background-image: url(./images/icon.png);background-repeat: no-repeat;background-position: left;text-indent: 2em;line-height: 50px;}</style> </head> <body><h3>背景位置案例</h3> </body> </html>

    4.6 王者榮耀背景圖片

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>13. 王者榮耀背景圖片</title><style>body {background-image: url(./images/bg.jpg);background-repeat: no-repeat;background-position: top;}</style> </head> <body></body> </html>

    4.7 背景位置-精確單位

    使用精確坐標指定背景圖片有順序要求嗎?

    • 第一個值一定是 x / 第二個值一定是 y
    <style>.box {width: 100%;height: 200px;background-image: url(./images/logo.png);background-repeat: no-repeat;background-position: 500px 300px;}</style>

    如果只指定了一個值,是哪個方向的值?另一個方向呢?

    • x 方向的
    • 垂直方向居中顯示

    4.8 背景位置-混合單位

    指定背景圖片可以混合使用單位嗎?順序有沒有要求?

    • 可以
    • 第一個值一定是 x / 第二個值一定是 y
    <style>.box {width: 100%;height: 200px;background-image: url(./images/logo.png);background-repeat: no-repeat;background-position: 500px center;}</style>

    4.9 背景固定

    背景固定的應用場景是什么?

    • 可以制作視差滾動效果

    background-attachment 有哪兩個參數?分別代表什么含義?

    • scroll 默認,背景圖像跟隨滾動
    • fixed 背景圖像固定
    body {background-image: url(./images/bg.jpg);background-repeat: no-repeat;background-position: top;background-attachment: fixed;color: greenyellow;font-size: 20px;}

    4.10 背景屬性復合寫法

    我們已經學過了哪個屬性的復合寫法?

    • font: font-style font-weight font-size/line-height font-family

    背景屬性的復合寫法有順序要求嗎?

    • 沒有
    • 但是推薦順序是:background: color image repeat attachment position

    背景屬性的復合寫法在開發中用的多嗎?每次都要寫全嗎?

    • 不需要每次都要寫全,需要啥就寫啥

    4.11 背景顏色半透明

    使用 background-color 能夠設置背景顏色半透明嗎?為什么?

    • 可以 background: rgba(0, 0, 0, 0.3); 本質上就是在設置背景顏色。

    rgba 中的 alpha 取值范圍是多少?

    • 取值范圍:0 ~ 1
    • 0 完全透明 / 1 完全不透明
    <style>body {background-color: rgba(165, 165, 165, 0.5);}</style>

    4.12 背景總結

    屬性作用值
    background-color顏色顏色 / #f00 / rgba(red, green, blue, alpha)
    background-image圖像url(圖片路徑)
    background-repeat平鋪repeat / no-repeat / repeat-x / repeat-y
    background-position位置x, y / left right center top bottom center
    background-attachment附著方式scroll / fixed

    復合寫法推薦順序:background: color image repeat attachment position。

    總結

    以上是生活随笔為你收集整理的CSS基础(emmet 语法,CSS 复合选择器, 布局认知,背景样式)的全部內容,希望文章能夠幫你解決所遇到的問題。

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