四十一、CSS3的新特性(下)

一、CSS3的新特性

1.1、CSS3盒子模型

css3中可以通過\color{red}{box-sizing}來指定盒子模型,有2個值:即可指定為\color{red}{content-box}、\color{red}{border-box},這樣我們計算盒子大小的方式就發(fā)生了改變。
可以分為兩種情況:

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

如果盒子模型我們改為了box-sizing:border-box,那padding和border就不會撐大盒子了(前提padding和border不會超過width寬度)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3盒子模型</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 20px solid red;
            padding: 15px;
            box-sizing: content-box;
        }
        p {
            width: 200px;
            height: 200px;
            background-color: pink;
            border: 20px solid red;
            padding: 15px;
            /* css3 盒子模型  盒子最終的大小就是 width  200 的大小 */
            box-sizing: border-box;
        }
    </style>
</head>
<body>
    <div>
        小豬喬治
    </div>
    <p>
        小豬佩奇
    </p>
</body>
</html>
image.png

1.2、CSS3其他特性(了解)

  1. 圖片變模糊
    filter CSS屬性將模糊或顏色偏移等圖形效果應用于元素。


    image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>圖片模糊處理filter</title>
    <style>
        img {
            /* blur是一個函數(shù) 小括號里面數(shù)值越大,圖片越模糊 注意數(shù)值要加px單位 */
            filter: blur(15px);
        }
        img:hover {
            filter: blur(0);
        }
    </style>
</head>
<body>
   <img src="images/pink.jpg" alt="">
</body>
</html>
image.png
  1. 計算盒子寬度 width:calc 函數(shù)


    image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3屬性calc函數(shù)</title>
    <style>
        .father {
            width: 300px;
            height: 200px;
            background-color: pink;
        }
        .son {
            /* width: 150px; */
            /* width: calc(150px + 30px); */
            width: calc(100% - 30px);
            height: 30px;
            background-color: skyblue;
        }
    </style>
</head>
<body>
    <!-- 需求我們的子盒子寬度永遠比父盒子小30像素 -->
    <div class="father">
        <div class="son"></div>
    </div>
</body>
</html>
image.png

1.3、CSS過濾(重點)

transition: 要過濾的屬性 花費時間 運動曲線 何時開始;

1. 屬性:想要變化的CSS屬性,寬度高度 背景顏色 內(nèi)外邊距都可以。如果想要所有的屬性都變化過濾,寫一個all就可以。
2.花費時間:單位是秒(必須寫單位)比如0.5s。
3.運動曲線:默認是ease(可以省略)。
4.何時開始:單位是秒(必須寫單位)可以設置延遲觸發(fā)時間 默認是0s(可以省略)

image.png

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3 過渡效果</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
            /* transition: 變化的屬性 花費時間 運動曲線 何時開始; */
            /* transition: width .5s ease 0s, height .5s ease 1s; */
            /* 如果想要寫多個屬性,利用逗號進行分割 */
            /* transition: width .5s, height .5s; */
            /* 如果想要多個屬性都變化,屬性寫all就可以了 */
            /* transition: height .5s ease 1s; */
            /* 誰做過渡,給誰加 */
            transition: all 0.5s;
        }
        div:hover {
            width: 400px;
            height: 200px;
            background-color: skyblue;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>
image.png

1.4、進度條練習

image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3過渡練習-進度條</title>
    <style>
        .bar {
            width: 150px;
            height: 15px;
            border: 1px solid red;
            border-radius: 7px;
            padding: 1px;
        }
        .bar_in {
            width: 50%;
            height: 100%;
            background-color: red;
            /* 誰做過渡給誰加 */
            transition: all .7s;
        }
        .bar:hover .bar_in {
            width: 100%;
        }
    </style>
</head>
<body>
    <div class="bar">
        <div class="bar_in"></div>
    </div>
</body>
</html>

二、總結

狹義的HTML5 CSS3

image.png

廣義的HTML5
image.png

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 技術交流QQ群:1027579432,歡迎你的加入! 歡迎關注我的微信公眾號:CurryCoder的程序人生 1....
    CurryCoder閱讀 319評論 0 1
  • 一、屬性選擇器 屬性選擇器可以根據(jù)元素特定屬性的來選擇元素。 這樣就可以不用借助于類或者id選擇器。 選擇符描述E...
    testleaf閱讀 466評論 1 9
  • 新增選擇器 1.屬性選擇器 屬性選擇器可以根據(jù)元素特定屬性的來選擇元素。 這樣就可以不用借助于類或者id選擇器。注...
    肖青榮閱讀 798評論 0 4
  • 原文鏈接 除了html5的新特性,CSS3的新特性也是面試中經(jīng)常被問到的。 選擇器 CSS3中新添加了很多選擇器,...
    bestvist閱讀 8,481評論 0 8
  • 歡迎訪問我的博客https://qqqww.com/,祝所有碼農(nóng)同胞們早日走上人生巔峰,迎娶白富美~~ 詳細請移步...
    這里王工頭閱讀 1,692評論 0 16

友情鏈接更多精彩內(nèi)容