關於 HTML5 和 CSS3 這些知識點你都知道多少--靜態篇

關於 HTML5 和 CSS3 這些知識點你都知道多少–靜態篇


前言: 當我學過了前端的很多框架之後,發現自己的基礎的css3有點弱,這些H5和C3的新特性用特不是很熟練,因此現在回過頭來再學習一遍這些新的特性,當學過一些前端框架過後你會發現CSS3真的很重要!

1. HTML5 新增標籤

  • header頭部標籤
  • footer 底部標籤
  • section 塊 區域標籤 可以理解爲較大的div
  • article 文章內容標籤
  • nav 導航標籤
  • aside側邊欄
  • audio 音頻
  • video 視頻

input中新增的值

屬性值 說明
type=“email” 限制用戶輸入必須爲Email類型
type=“url” 限制用戶輸入必須爲URL類型
type=“date” 限制用戶輸入必須爲日期類型
type=“time” 限制用戶輸入必須爲時間類型
type=“month” 限制用戶輸入必須爲月類型
type=“week” 限制用戶輸入必須爲周類型
type="number’ 限制用戶輸入必須爲數字類型
type=“tel” 手機號碼
type=“search” 搜索框
type=“color” 生成一個顏色選擇表單
屬性 說明
required required 表單擁有該屬性表示其內容不能爲空,必填
placeholder 提示文本 表單的提示信息,存在默認值將不顯示
autofocus autofocus 自動聚焦屬性,頁面加載完成自動聚焦到指定表單
autocomplete off/ on 當用戶在字段開始鍵入時,瀏覽器基於之前鍵入過的值,應該顯示出在字段中填寫的選項。默認已經打開,如autocomplete=“on”,關閉autocomplete ="off"需要放在表單內,同時加上name屬性,同時成功提交
multiple multiple 可以多選文件提交

2. css3 選擇器

2.1 css3 屬性選擇器

例如我們有兩個input 但是隻對一個有value屬性的input設置樣式,這樣我們就可以使用屬性選擇器

<style> 
	input[value] {
        color: pink;
    }
</style>

<body>
    <input type="text" value="12123321">
    <input type="text">
</body>

在這裏插入圖片描述

但是它不僅僅如此還可以根據屬性的值進行判斷,如下

<style> 
	input[type=text] {
        color: pink;
    }
</style>

<body>
    <input type="text" value="123">
    <input type="password" value="123">
</body>
選擇符 Value
E[att] 選擇具有att屬性的E元素
E[att=“value”] 選擇具有att屬性且屬性值等於value的E元素
E[att^=“value”] 選擇以value開頭的元素
E[att$=“value”] 選擇以value結尾的元素
E[att*=“value”] 選擇包含value的元素

2.2 結構僞類選擇器

選擇符 簡介
E:first-child 匹配父元素中的第一個子元素E
E:last-child 匹配父元素中最後一個E元素
E:nth-child(n) 匹配父元素中的第n個子元素E
E:first-of-type 指定類型E的第-一個
E:last-of-type 指定類型E的最後-個
E:nth-of-type(n) 指定類型E的第n個

類似這種情況就會很方便

    ul li:first-child {
   	 color: pink;
    }
    ul li:last-child {
   	 color: pink;
    }
    ul li:nth-child(3) {
  	  color: pink;
    }    

    <ul>
        <li>我是第1個孩子</li>
        <li>我是第2個孩子</li>
        <li>我是第3個孩子</li>
        <li>我是第4個孩子</li>
        <li>我是第5個孩子</li>
    </ul>

小知識:這個 ul>li{我是第$個孩子}*5 可以快捷生成上面的標籤哦~!

通過nth-child()我們還可以隔行變色,通過選中所有的基數或則偶數行設置樣式 ,如下:

/* 基數行 */
ul li:nth-child(odd) {
	background-color: gray;
} 
/* 偶數行 */
ul li:nth-child(even) {
    background-color: #ccc;
}

在這裏插入圖片描述

如果nth-child(n)在這個括號裏面寫n的話 則表示選中所有的子元素

公式 取值
2n 偶數
2n+1 奇數
5n 5 10 15…
n+5 從第5個開始(包含第五個)到最後
-n+5 前5個(包含第5個) …

2n 因爲n是從0開始的 所以2n就是所有的偶數,2n+1就是基數,同理其他的也是這樣算的。

至於E:first-of-type、 E:last-of-type和E:nth-of-type(n) 這三個和 上面講的三個很像,功能類似 ,但是它可以將指定的元素排序號。nth-child是給所有的孩子節點排序,然而nth-of-type是給指定類型的孩子節點排序

2.3 css3 僞元素選擇器

僞元素選擇器可以幫助我們利用CSS創建新標籤元素,而不需要HTML標籤,從而簡化HTML結構。

選擇 簡介
::before 在元素內部的前面插入內容
::after 在元素內部的後面插入內容
  • before和after創建一個元素 ,但是屬於行內元素想設置大小需要轉換爲塊元素等。

  • 新創建的這個元素在文檔樹中是找不到的,所以我們稱爲僞元素

  • 語法: element::before{}

  • before和after 必須有content屬性

  • before在父元素內容的前面創建元素, after在父元素內容的後面插入元素

  • 僞元素選擇器和標籤選擇器一樣,權重爲1

那麼這個有哪些應用場景呢?
1.在這裏插入圖片描述

這個需要用到字體圖標

.box5 {
    position: relative;
    width: 300px;
    height: 30px;
    border: 1px solid black;
}
.box5::after{
    font-family: icomoon;
    content: '';
    position: absolute;
    line-height: 30px;
    right: 10px;
}
 <div class="box5"></div>

2.在這裏插入圖片描述

這種遮罩層也可以使用僞元素來做,

.box5 {
    position: relative;
    width: 300px;
    height: 30px;
    border: 1px solid black;
}
.box5::before{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}
  • 僞元素清除浮動

    .clearfix::after {
        content: "";
        display: block;
        height: 0; //隱藏僞元素
        clear: both;
        visibility: hidden; //隱藏僞元素
    }
    
    .clearfix:before,
    .clearfix:after {
        content: "";
        display: table; //轉換塊元素表示這個兩個僞元素在一行
    }
    
    .clearfix:after {
        clear: both;
    }
    

    上面這是使用僞元素兩種清除浮動的辦法。

3. css3的盒模型

css3中可以通過box-sizing來指定盒模型,有2個值:即可指定爲content-box、border-box ,這樣我們計算盒子大小的方式就發生了改變。

可以分成兩種情況:

  1. box-sizing: content- box盒子大小爲width + padding + border ( 以前默認的)

  2. box-sizing: border-box盒子大小爲width,這樣的話我們的寬度是一定的不管外面又沒有padding和border大小都是width 的給定寬度。

通過使用這個特性我們就不需要再 考慮padding和border帶給我們的加加減減了。

4. css3 的其他新特性

4.1 css3 圖片的模糊處理

img {
    filter: blur(15px);
}

blue是一個函數,小括號裏面的數值越大,圖片就會變得越模糊 注意 這個需要加px單位 ,如下圖效果

在這裏插入圖片描述

4.2 css3的calc 函數

這個函數呢可以讓我們再css中做一些計算操作例如

width:calc(100% - 80px);

這個函數要注意的是 運算符兩邊一定要有空格。

當然css3中還有更重要的過渡屬性,但是這個放到下一篇 動畫篇中來寫了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章