css3基礎-選擇器+邊框與圓角+背景與漸變

来源:https://www.cnblogs.com/chenyingying0/archive/2019/12/30/12119231.html
-Advertisement-
Play Games

Css3選擇器相關: section > div直接子元素選擇器 div + article相鄰兄弟選擇器(在元素之後出現) div ~ article通用兄弟選擇器(在元素之後出現) 屬性選擇器: a[href] { text-decoration: none; } a[href="#"] { c ...


Css3選擇器相關:

 

section > div直接子元素選擇器

div + article相鄰兄弟選擇器(在元素之後出現)

div ~ article通用兄弟選擇器(在元素之後出現)

 


 

屬性選擇器:

a[href] {
    text-decoration: none;
}
a[href="#"] {
    color: #f00;
}
/*包含two且屬性值用空格分隔:*/
a[class~="two"] {
    color: #ff0;
}
/*屬性的第一個值以#開頭:*/
a[href^="#"] {
    color: #0f0;
}
/*以#結尾:*/
a[href$="#"] {
    color: #00f;
}
/*包含#:*/
a[href*="#"] {
    color: #0ff;
}
/*第一個屬性值以#-開頭:*/
a[href|="#"] {
    color: #f0f;
}

UI元素偽類:

Input:disabled

Input:enabled

Input:checked

 


 

div:first-child匹配屬於其父元素的第1個子元素且是div,計數時不分類型,顯示時分類型

div:last-child匹配屬於其父元素的最後1個子元素且是div,計數時不分類型,顯示時分類型div:nth-child(2) 匹配屬於其父元素的第n個子元素且是div,計數時不分類型,顯示時分類型div:nth-lat-child(2) 匹配屬於其父元素的第n個子元素且是div,計數時不分類型,顯示時分類型

 


 

n匹配下標,從0開始計算:

li:nth-child(2n) 雙數

li:nth-child(2n+1) 單數

li:nth-child(n+4)

li:nth-child(odd) 奇數,下標從1開始計算

li:nth-child(even) 偶數,下標從1開始計算

li:nth-last-child(3) 倒數第3個

article:only-child 屬於父元素的唯一元素,且是article(沒有任何其他子元素)

 


 

div:nth-of-type(2) 匹配屬於其父元素的第2個子元素且是div,計數時分類型

div:nth-last-of-type(2)

div:first-of-type div:last-of-type

article:only-of-type 屬於父元素的唯一article元素(可以有其他類型的子元素)

 


 

div:empty 沒有子元素的div元素(包括文本也沒有)

a:not(:last-of-type) 不是最後一個a子元素

 


 

id選擇器權重大於屬性選擇器

.red > [class=”red”]

 


 

Css偽元素:

div::selection 文本被選中後的樣式

::-moz-selection  火狐

 


 

Css3邊框與圓角:

 

四個值按照順時針方向來

Border-radius相容性寫法:

-webkit-border-radius: 50%;
       -moz-border-radius: 50%;
        -ms-border-radius: 50%;
         -o-border-radius: 50%;
            border-radius: 50%;

box-shadow水平偏移 垂直偏移 模糊 擴展 顏色 內部

box-shadow: 50px 30px 0px 0px yellow inset;

border-image-repeat:stretch(拉伸)/repeat(重覆)/round(鋪滿)/initial/inherit

border-image-source: url("border.jpg");
    border-image-slice: 50%;/*圖像邊界向內偏移*/
    border-image-width: 50%;/*圖像邊界的寬度*/
    border-image-outset: 2; /*在邊框外部繪製*/
    border-image-repeat: repeat; 

css3背景與漸變:

 

背景繪製區域(顯示範圍)

background-clip: border-box;
background-clip: padding-box;
background-clip: content-box;

背景圖像定位(起始位置,原點位置,與偏移搭配使用)

background-origin: border-box;
background-origin: padding-box;
background-origin: content-box;
background-position:10px 10px; /*與偏移搭配使用*/

background-size只寫一個值,第二個預設是auto,根據比例等比縮放

background-size: contain; /*等比縮放到某一邊達到容器邊緣*/
background-size: cover;/*等比縮放填滿容器*/
background-size: 800px 500px;
background-size: 800px;
background-size: 50% 50%;
background-size: 50%;
background-size: 100% 100%;
background-size: 100%;

background-image多重背景,前面的會覆蓋後面的

background-image: url('bg2.png'), url('bg1.jpg');

demo:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>background-image</title>
    <style type="text/css">
        div{
            width:300px;
            height:300px;
            background:url(1.jpg) no-repeat center top,
            url(2.jpg) no-repeat center 100px,
            url(3.jpg) no-repeat center 200px;
            margin:0 auto;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

 

 

預設從上到下漸變:

div {
    width: 800px; height: 500px;
    background: -webkit-linear-gradient(red, blue);
    background:    -moz-linear-gradient(red, blue);
    background:      -o-linear-gradient(red, blue);
    background:         linear-gradient(red, blue);
}

從左到右漸變

div {
    width: 800px; height: 500px;
    background: -webkit-linear-gradient(left, red , blue);
    background:    -moz-linear-gradient(right, red, blue);
    background:      -o-linear-gradient(right, red, blue);
    background:         linear-gradient(to right, red , blue);
}

左上角開始的對角線漸變

div {
    width: 800px; height: 500px;
    background: -webkit-linear-gradient(       left top, red, yellow, blue);
    background:    -moz-linear-gradient(   right bottom, red, yellow, blue);
    background:      -o-linear-gradient(   right bottom, red, yellow, blue);
    background:         linear-gradient(to right bottom, red, yellow, blue);
}

角度控制方向

角度漸變是水平線和漸變線之間的角度,0deg是從下到上,90度是從左到右

div {
    width: 800px; height: 500px;
    background: -webkit-linear-gradient(135deg, red, yellow, blue);
    background:    -moz-linear-gradient(135deg, red, yellow, blue);
    background:      -o-linear-gradient(135deg, red, yellow, blue);
    background:         linear-gradient(135deg, red, yellow, blue);
}

漸變具體位置控制

div {
    width: 800px; height: 500px;
    background: -webkit-linear-gradient(90deg, red 10%, orange 15%, yellow 20%, green 50%, blue 70%, indigo 80%, violet 100%);
    background:    -moz-linear-gradient(90deg, red 10%, orange 15%, yellow 20%, green 50%, blue 70%, indigo 80%, violet 100%);
    background:      -o-linear-gradient(90deg, red 10%, orange 15%, yellow 20%, green 50%, blue 70%, indigo 80%, violet 100%);
    background:         linear-gradient(90deg, red 10%, orange 15%, yellow 20%, green 50%, blue 70%, indigo 80%, violet 100%);
}

透明色漸變

div {
    width: 800px; height: 500px;
    background: -webkit-linear-gradient(90deg, rgba(255, 0, 0, 0), rgba(255, 0, 0, 1));
    background:    -moz-linear-gradient(90deg, rgba(255, 0, 0, 0), rgba(255, 0, 0, 1));
    background:      -o-linear-gradient(90deg, rgba(255, 0, 0, 0), rgba(255, 0, 0, 1));
    background:         linear-gradient(90deg, rgba(255, 0, 0, 0), rgba(255, 0, 0, 1));
}

重覆漸變

div {
    width: 800px; height: 500px;
    background: -webkit-repeating-linear-gradient(90deg, red 0%, blue 10%, red 20%);
    background:    -moz-repeating-linear-gradient(90deg, red 0%, blue 10%, red 20%);
    background:      -o-repeating-linear-gradient(90deg, red 0%, blue 10%, red 20%);
    background:         repeating-linear-gradient(90deg, red 0%, blue 10%, red 20%);
}

徑向漸變,從內到外

div {
    width: 800px; height: 500px;
    background: -webkit-radial-gradient(red, blue);
    background:    -moz-radial-gradient(red, blue);
    background:      -o-radial-gradient(red, blue);
    background:         radial-gradient(red, blue);
}

圓形漸變

div {
    width: 800px; height: 500px;
    background: -webkit-radial-gradient(circle, red, blue);
    background:    -moz-radial-gradient(circle, red, blue);
    background:      -o-radial-gradient(circle, red, blue);
    background:         radial-gradient(circle, red, blue);
}

橢圓形漸變

div {
    width: 800px; height: 500px;
    background: -webkit-radial-gradient(ellipse, red, blue);
    background:    -moz-radial-gradient(ellipse, red, blue);
    background:      -o-radial-gradient(ellipse, red, blue);
    background:         radial-gradient(ellipse, red, blue);
}

漸變從圓心到最近邊

div.closest-side {
    width: 300px; height: 200px; margin: 50px;
    background: -webkit-radial-gradient(30% 70%, circle closest-side, red, blue);
    background:    -moz-radial-gradient(30% 70%, circle closest-side, red, blue);
    background:      -o-radial-gradient(30% 70%, circle closest-side, red, blue);
    background:         radial-gradient(30% 70%, circle closest-side, red, blue);
}

漸變從圓心到最遠邊

div.farthest-side {
    width: 300px; height: 200px; margin: 50px;
    background: -webkit-radial-gradient(30% 70%, farthest-side, red, blue);
    background:    -moz-radial-gradient(30% 70%, farthest-side, red, blue);
    background:      -o-radial-gradient(30% 70%, farthest-side, red, blue);
    background:         radial-gradient(30% 70%, farthest-side, red, blue);
}

漸變從圓心到最近角

div.closest-corner {
    width: 300px; height: 200px; margin: 50px;
    background: -webkit-radial-gradient(30% 70%, closest-corner, red, blue);
    background:    -moz-radial-gradient(30% 70%, closest-corner, red, blue);
    background:      -o-radial-gradient(30% 70%, closest-corner, red, blue);
    background:         radial-gradient(30% 70%, closest-corner, red, blue);
}

漸變從圓心到最遠角

div.farthest-corner {
    width: 300px; height: 200px; margin: 50px;
    background: -webkit-radial-gradient(30% 70%, farthest-corner, red, blue);
    background:    -moz-radial-gradient(30% 70%, farthest-corner, red, blue);
    background:      -o-radial-gradient(30% 70%, farthest-corner, red, blue);
    background:         radial-gradient(30% 70%, farthest-corner, red, blue);
}

IE漸變從上到下

div {
    width: 800px;
    height: 500px;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff0000', endColorstr='#0000ff',GradientType=0 );
}

IE漸變從左到右

div {
    width: 800px;
    height: 500px;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff0000', endColorstr='#0000ff',GradientType=1 );
}

Demo:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>線性漸變 - 特殊案例</title>
<style type="text/css">
div {
    width: 800px; height: 500px; background: #abcdef; background-size: 50px 50px;
    background-image:
        -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, #555), color-stop(.25, transparent), to(transparent)),
        -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, #555), color-stop(.25, transparent), to(transparent)),
        -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.75, transparent), color-stop(.75, #555)),
        -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.75, transparent), color-stop(.75, #555));
    background-image:
        -moz-linear-gradient(45deg, #555 25%, transparent 25%, transparent),
        -moz-linear-gradient(-45deg, #555 25%, transparent 25%, transparent),
        -moz-linear-gradient(45deg, transparent 75%, #555 75%),
        -moz-linear-gradient(-45deg, transparent 75%, #555 75%);
    background-image:
        -o-linear-gradient(45deg, #555 25%, transparent 25%, transparent),
        -o-linear-gradient(-45deg, #555 25%, transparent 25%, transparent),
        -o-linear-gradient(45deg, transparent 75%, #555 75%),
        -o-linear-gradient(-45deg, transparent 75%, #555 75%);
    background-image:
        linear-gradient(45deg, #555 25%, transparent 25%, transparent),
        linear-gradient(-45deg, #555 25%, transparent 25%, transparent),
        linear-gradient(45deg, transparent 75%, #555 75%),
        linear-gradient(-45deg, transparent 75%, #555 75%);
}
</style>
</head>
<body>
<div></div>
</body>
</html>


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 參考自:解決Android Studio無法下載sdk的問題 國內網站無法登進google,android sdk無法下載。 嘗試使用FQ,重裝軟體都沒有成功。 最後找到瞭解決辦法:http://ping.chinaz.com/dl.google.com 這個地址會列出一個ip列表,挨個ping,找 ...
  • iOS事件鏈有兩條:事件的響應鏈;Hit-Testing事件的傳遞鏈 響應鏈:由離用戶最近的view向系統傳遞。initial view –> super view –> ….. –> view controller –> window –> Application –> AppDelegate 傳 ...
  • JS語法: Javascript基本數據類型:undefined/null/Boolean/number/string 複雜數據類型:object typeof用來檢測變數的數據類型 typeof的使用方法有兩種: (1)typeof 變數 (2) typeof(變數) undefined派生自nu ...
  • 本文我們一起通過學習Vue模板編譯原理(二) AST生成Render字元串來分析Vue源碼。預計接下來會圍繞Vue源碼來整理一些文章,如下。 "一起來學Vue雙向綁定原理 數據劫持和發佈訂閱" "一起來學Vue模板編譯原理(一) Template生成AST" "一起來學Vue模板編譯原理(二) AS ...
  • 會動的漢克狗: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cartoon Dog</title> </head> <body> <div class="dog"> <div class="head"> ...
  • Css3文本與字體 文本陰影 h1 { text-shadow: 5px 5px 5px red; } word-break換行: h1:nth-child(1) { word-break: normal; } /*英文:一行放不下時整個單詞換行*/ h1:nth-child(2) { word-b ...
  • HTTP狀態碼的英文為 HTTP Status Code。下麵是常見的HTTP狀態碼: 200 - 請求成功 301 - 資源(網頁等)被永久轉移到其它URL 404 - 請求的資源(網頁等)不存在 500 - 內部伺服器錯誤 1、HTTP狀態碼的分類 HTTP狀態碼由三個十進位數字組成,第一個十進 ...
  • 如需代碼,詳情請咨詢郵箱,謝謝配合 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...