Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
這里是云端源想IT,幫你輕松學IT”
嗨~ 今天的你過得還好嗎?
睡眠等同于希望
每次醒來都是一個新的開始
一個新的希望
- 2024.03.22 -
在Web開發的世界中,CSS(層疊樣式表)是構建視覺吸引力和定義網頁布局的不可或缺的工具。
掌握如何恰當地引入CSS樣式以及理解它們的優先級規則,對于前端開發者來說至關重要。今天,我們就來深入探討CSS的四種引入方式,以及選擇器的優先級之謎,了解常用的CSS樣式及使用方法!
CSS(層疊樣式表)為網頁提供了豐富的樣式定義,允許開發者通過多種方式將樣式應用到HTML文檔中。以下是四種主要的CSS引入方式:
1.1 行內樣式
這是最直接也最簡單的方法,通過在HTML元素的style屬性中直接編寫CSS規則。
示例:
<p style="color: red; font-size: 20px;">這是一段紅色的文字。</p>
這種方式的優點是簡單快捷,但缺點是它使得HTML代碼與樣式混合,不夠純凈,且不利于樣式的復用和維護。
1.2 內嵌樣式
在一個HTML文檔中使用<style>標簽將CSS規則嵌入到HTML的head部分。這種方式適用于定義特定于某一頁面的樣式。
示例:
<head>
<style>
body {background-color: powderblue;}
h1 {color: blue;}
p {color: red;}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
1.3 外部樣式
這是最常用的方法,它通過<link>標簽將外部的CSS文件鏈接到HTML文檔中。這種方法的優勢在于可以在多個頁面間共享同一個樣式文件,有助于保持代碼的整潔和一致性。
示例:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
其中,mystyle.css的內容可能如下:
body {background-color: powderblue;}
h1 {color: blue;}
p {color: red;}
1.4 導入樣式
使用@import語句在CSS文件中導入另一個CSS文件。盡管這種方法可以分離樣式表,但它通常不被推薦使用,因為其加載時序可能會影響頁面渲染效率。
示例:
@import url('https://fonts.googleapis.com/css?family=Roboto');
body {
font-family: 'Roboto', sans-serif;
}
1.5 樣式單優先級
作用域范圍:外部樣式表>內部樣式表>行內樣式表
優先級:
2.1 字體樣式
normal - 文字正常顯示
italic - 文本以斜體顯示
oblique - 文本為“傾斜”(傾斜與斜體非常相似,但支持較少)
font-weight 屬性指定字體的粗細
示例:
<!DOCTYPE html>
<html>
<head>
<style>
.sp1{
color: darkorange;
font-size: 20px;
font-weight: bolder; /* bolder 字體是否加粗*/
font-style: italic; /* italic 字體是否傾斜*/
font-family: "宋體"; /* 設置字體樣式*/
}
.sp2{
/* 簡寫 */
/* 順序不能能變:style-weigth-size-family */
font:italic bolder 15px 宋體 ;
color:rgb(28, 235, 97);
}
</style>
<body>
<span>
編程學習,從云端源想開始!
</span><br>
<span>
讓知識觸手可及
</span>
<p>讓知識觸手可及</p>
</body>
</html>
2.2 文本樣式
color: 字體顏色
text-align: center; - - 文本對齊方式
text-decoration:none; - - 文本的線
text-shadow: pink 5px 5px 2px; - - 文本的陰影 【陰影顏色-水平方向的偏移量-垂直方向的偏移量-模糊距離】
line-height: - - 行高 (文本在標簽內所占的高度)
width:
height:
border: 1px #ffffff solid; - - 盒子邊框【邊框粗細-顏色-邊框線樣式】
示例:
<style>
.p{
color: rgb(0, 255, 21); /* 字體顏色 */
text-align: center; /* 文本對齊方式 */
text-decoration:none; /* 文本的線 */
text-shadow: pink 5px 5px 2px; /* 文本的陰影 【陰影顏色-水平方向的偏移量-垂直方向的偏移量-模糊距離】*/
line-height: 400px; /* 行高 (文本在標簽內所占的高度)*/
width: 400px;
height: 300px;
border: 1px rgb(76, 14, 223) solid; /* 盒子邊框【邊框粗細-顏色-邊框線樣式】 */
}
</style>
</head>
<body>
<p>歡迎來到云端源想!</p>
<a href="https://www.baidu.com"></a>
</body>
2.3 背景樣式
width: 500px;
height: 1200px;
background-color: pink; - - 背景顏色
background-image: url(…/img/background.jpg); - - 背景圖片
background-repeat: no-repeat; - - 背景圖片是否平鋪
background-position: left top; - - 指定背景圖片的位置
background-attachment: fixed; - - 背景圖片是否隨著標簽滾動 【fixed-固定 scroll-滾動】
示例:
<style>
.d{
width: 500px;
height: 1200px;
background-color: pink; /* 背景顏色 */
background-image: url(../img/background.jpg); /* 背景圖片 */
background-repeat: no-repeat; /* 背景圖片是否平鋪 */
background-position: left top; /* 指定背景圖片的位置 */
background-attachment: fixed; /* 背景圖片是否隨著標簽滾動 【fixed-固定 scroll-滾動】 */
}
</style>
</head>
<body>
<div>
</div>
2.4 列表樣式
<!DOCTYPE html>
<html>
<head>
<style>
li{
background-color: lemonchiffon;
/*列表樣式:常用取值:none-無樣式 square-正方形 circle-空心圓 decimal-數字*/
list-style-type: circle;
/*列表樣式為自定義圖片*/
list-style-image: url(../img/2.jpg);
/*列表樣式的放置位置*/
list-style-position: inside;
/*列表樣式縮寫*/
list-style: square url(../img/2.jpg) inside;
/*常用的列表樣式*/
list-style: none;
}
</style>
</head>
<body>
<ul>
<li>列表項1</li>
<li>列表項2</li>
<li>列表項3</li>
</ul>
</body>
</html>
2.5 邊框樣式
<!DOCTYPE html>
<html>
<head>
<style>
.border{
/*邊框寬度*/
border-width: 2px;
/*邊框顏色*/
border-color: red;
/*邊框樣式:solid 實線 dotted 點線 dashed 虛線*/
border-style: dashed;
/*邊框樣式縮寫:樣式 顏色 寬度*/
border:solid green 5px;
/*邊框可以為4個方向分別設置*/
border-top: dashed black 4px;
border-right: dashed #FF00FF 4px;
border-bottom: dotted darkblue 4px;
border-left: solid fuchsia 5px;
/*沒有邊框*/
border: none;
/*常用的細邊框樣式*/
border: solid 1px #ccc;
}
</style>
</head>
<body>
<div class="border">這是一個帶有邊框的元素</div>
</body>
</html>
2.6 盒子模型
所有的html元素可以看做是盒子,在css中,"box model"是用來設計和布局時使用。
CSS盒子模型本質是一個盒子,封裝周圍的html元素,它包括:邊框、邊距、填充、實際內容。
盒子模型允許我們在其他元素和周圍元素邊框之間的空間放置元素。
想要快速入門前端開發嗎?推薦一個前端開發基礎課程,這個老師講的特別好,零基礎學習無壓力,知識點結合代碼,邊學邊練,可以免費試看試學,還有各種輔助工具和資料,非常適合新手!點這里前往學習哦!云端源想
示例:
<head>
<meta charset="UTF-8">
<title></title>
<style>
/* border:邊框,分4個方向,同理margin、padding也分為四個方向
* margin:元素與元素之間對的距離
* padding:內容與邊框之間的距離
* 設置的時候順序:上 右 下 左
*/
.div{
border: solid red 10px;
/*四個方向上的元素與元素之間的距離都是50px*/
margin: 50px;
/*兩個值的時候:第一個參數表示上下距離都是50px,第二個參數表示左右距離都是100px*/
margin: 50px 100px;
padding: 50px;
/*
一個元素真正的寬度=width+左右padding值+左右的border值
一個元素的真正高度=height+上下的padding值+上下的border值
* */
}
</style>
</head>
<body>
<div>111111111112222222222223333333333333333</div>
</body>
1)盒子的寬高
元素的實際寬度和高度:
2)設置寬度=元素實際寬度,box-sizing屬性。
<head>
<meta charset="UTF-8">
<title></title>
<style>
/* box-sizing:確認元素的大小
content-box: 實際寬度=width+左右的psdding值+上下的border值
實際高度=height+上下的padding值+上下的border值
border-box:實際寬度=width;實際高度=height
padding和border不會影響元素的實際寬高
* */
.box{
width: 100px;
height: 200px;
border: 5px solid;
padding: 5px;
box-sizing: content-box;
}
</style>
</head>
<body>
<div>你好中國</div>
</body>
CSS的世界博大精深,以上只是冰山一角,希望通過這些基礎的常用樣式可以幫助你快速進入CSS世界的大門。
掌握CSS的引入方式和選擇器優先級是構建高效、可維護網站的關鍵。通過這些知識,你可以更好地管理和優化你的樣式代碼,創造出既美觀又專業的網頁設計。現在,準備好邁入CSS的世界,開啟你的創意之旅吧!
我們下期再見!
END
文案編輯|云端學長
文案配圖|云端學長
內容由:云端源想分享
TML提交按鈕是一種HTML表單元素,允許用戶將表單數據提交到服務器。提交按鈕通常與表單元素(如文本框和下拉列表)一起使用,以便用戶可以輸入并提交信息。在HTML中,提交按鈕通常使用標簽來定義。
如何編寫HTML提交按鈕代碼?
要創建HTML提交按鈕,您需要使用標簽,并將type屬性設置為“submit”。例如,以下代碼會創建一個名為“submit”的提交按鈕:
```
```
在這個例子中,“action”屬性指定了表單數據提交到的URL,“method”屬性指定了提交表單的HTTP方法(通常是POST或GET)。按鈕的“value”屬性指定了按鈕上顯示的文本。
如何自定義HTML提交按鈕樣式?
默認情況下,HTML提交按鈕的樣式取決于用戶的操作系統和瀏覽器。但是,您可以使用CSS樣式表來自定義按鈕的外觀。例如,以下代碼將創建一個紅色的提交按鈕:
```
```
在這個例子中,我們使用了style屬性來設置按鈕的背景顏色和文本顏色。您還可以使用其他CSS屬性來自定義按鈕的大小、邊框等。
如何使用JavaScript處理HTML提交按鈕?
您可以使用JavaScript來添加交互性和驗證表單數據。例如,以下代碼將在用戶單擊提交按鈕時彈出一個提示框:
```
```
在這個例子中,我們使用了onsubmit屬性來指定當表單提交時要運行的JavaScript函數。此函數返回true或false,如果返回false,則表單將不會提交。在這個例子中,我們使用confirm()函數顯示一個提示框,并在用戶單擊“確定”時返回true。
總結
HTML提交按鈕是Web表單中的重要元素,允許用戶將表單數據提交到服務器。您可以使用標簽來創建提交按鈕,并使用CSS樣式表自定義外觀。您還可以使用JavaScript添加交互性和驗證表單數據。通過掌握HTML提交按鈕的知識,您可以創建復雜的Web表單,并收集和處理用戶數據。
原文出處>>>
https://blog.csdn.net/u014158743/article/details/136240947
01-復合選擇器
定義:由兩個或多個基礎選擇器,通過不同的方式組合而成。
作用:更準確、更高效的選擇目標元素(標簽)。
后代選擇器
后代選擇器:選中某元素的后代元素。
選擇器寫法:父選擇器 子選擇器 { CSS 屬性},父子選擇器之間用空格隔開。
<style>
div span {
color: red;
}
</style>
<span> span 標簽</span>
<div>
<span>這是 div 的兒子 span</span >
</div>
子代選擇器
子代選擇器:選中某元素的子代元素(最近的子級)。
選擇器寫法:父選擇器 > 子選擇器 { CSS 屬性},父子選擇器之間用 > 隔開。
<style>
div > span {
color: red;
}
</style>
<div>
<span>這是 div 里面的 span</span>
<p>
<span>這是 div 里面的 p 里面的 span</span>
</p>
</div>
并集選擇器
并集選擇器:選中多組標簽設置相同的樣式。
選擇器寫法:選擇器1, 選擇器2, …, 選擇器N { CSS 屬性},選擇器之間用 , 隔開。
<style>
div,
p,
span {
color: red;
}
</style>
<div> div 標簽</div>
<p>p 標簽</p>
<span>span 標簽</span>
交集選擇器
交集選擇器:選中同時滿足多個條件的元素。
選擇器寫法:選擇器1選擇器2 { CSS 屬性},選擇器之間連寫,沒有任何符號。
<style>
p.box {
color: red;
}
</style>
<p class="box">p 標簽,使用了類選擇器 box</p>
<p>p 標簽</p>
<div class="box">div 標簽,使用了類選擇器 box</div>
注意:如果交集選擇器中有標簽選擇器,標簽選擇器必須書寫在最前面。
偽類選擇器
偽類選擇器:偽類表示元素狀態,選中元素的某個狀態設置樣式。
鼠標懸停狀態:選擇器:hover { CSS 屬性 }
<style>
a:hover {
color: red;
}
.box:hover {
color: green;
}
</style>
<a href="#">a 標簽</a>
<div class="box">div 標簽</div>
超鏈接偽類
選擇器作用:link選擇尚未被訪問的超鏈接。:visited選擇已被訪問過的超鏈接。:hover鼠標懸停在超鏈接上時應用的樣式。:active超鏈接被點擊時應用的樣式,通常用于短暫的樣式變化,以示被點擊。:focus超鏈接獲取焦點時應用的樣式,通常用于鍵盤導航時給予用戶視覺反饋。
提示:如果要給超鏈接設置以上四個狀態,需要按 LVHA 的順序書寫。
經驗:工作中,一個 a 標簽選擇器設置超鏈接的樣式, hover狀態特殊設置
a {
color: red;
}
a:hover {
color: green;
}
02-CSS特性
CSS特性:化簡代碼 / 定位問題,并解決問題
繼承性
層疊性
優先級
繼承性
繼承性:子級默認繼承父級的文字控制屬性。
描述屬性效果設置文字大小font-size控制文字的大小。設置文字樣式font-style控制文字的樣式,如斜體(italic)或正常(normal)。設置行高line-height控制行與行之間的距離,實現單行文字的垂直居中。設置字體族font-family指定用于顯示文本的字體系列,可以是單個字體名稱或一系列備選字體。設置文字對齊方式text-align控制文本在盒子中的水平對齊方式,如左對齊、右對齊、居中等。設置文本縮進text-indent控制段落的首行縮進。設置文本修飾線text-decoration添加文本的修飾線,如下劃線、刪除線等。設置文字顏色color控制文本的顏色。
層疊性
特點:
相同的屬性會覆蓋:后面的 CSS 屬性覆蓋前面的 CSS 屬性
不同的屬性會疊加:不同的 CSS 屬性都生效
<style>
div {
color: red;
font-weight: 700;
}
div {
color: green;
font-size: 30px;
}
</style>
<div>div 標簽</div>
注意:選擇器類型相同則遵循層疊性,否則按選擇器優先級判斷。
嘗試一下>>>
優先級
優先級:也叫權重,當一個標簽使用了多種選擇器時,基于不同種類的選擇器的匹配規則。
<style>
div {
color: red;
}
.box {
color: green;
}
</style>
<div class="box">div 標簽</div>
基礎選擇器
規則:選擇器優先級高的樣式生效。
公式:通配符選擇器 < 標簽選擇器 < 類選擇器 < id選擇器 < 行內樣式 < !important
(選中標簽的范圍越大,優先級越低)
復合選擇器-疊加
疊加計算:如果是復合選擇器,則需要權重疊加計算。
公式:(每一級之間不存在進位)
(行內樣式,id選擇器個數,類選擇器個數,標簽選擇器個數)
規則:
從左向右依次比較選個數,同一級個數多的優先級高,如果個數相同,則向后比較
!important 權重最高
繼承權重最低
練習:
<!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>
/* (0, 0, 2, 1) */
.c1 .c2 div {
color: blue;
}
/* (0, 1, 0, 1) */
div #box3 {
color:green;
}
/* (0, 1, 1, 0) */
#box1 .c3 {
color:orange;
}
</style>
</head>
<body>
<div id="box1" class="c1">
<div id="box2" class="c2">
<div id="box3" class="c3">
這行文本是什么顏色的?
</div>
</div>
</div>
</body>
</html>
嘗試一下>>>
03-Emmet 寫法
Emmet寫法:代碼的簡寫方式,輸入縮寫 VS Code 會自動生成對應的代碼。
以下是關于HTML標簽的Emmet寫法的表格:
說明標簽結構Emmet寫法創建一個div標簽<div></div>div創建一個帶有class的div標簽<div></div>div.classname創建一個帶有id的div標簽<div id="idname"></div>div#idname創建一個段落標簽<p></p>p創建一個帶有文本內容的段落標簽<p>Text</p>p{Text}創建一個帶有鏈接的標簽<a href="#"></a>a[href="#"]創建一個列表項標簽<li></li>li創建一個無序列表標簽<ul></ul>ul創建一個有序列表標簽<ol></ol>ol創建一個圖片標簽<img src="" alt="">img[src=""][alt=""]
這些Emmet寫法可以幫助快速生成HTML標簽結構。
以下是關于CSS的Emmet寫法的表格:
說明CSS結構Emmet寫法創建一個帶有class的樣式表<link rel="stylesheet" href="style.css">link:css創建一個內聯樣式表<style></style>style創建一個選擇器為.classname的樣式規則.classname {}.classname創建一個選擇器為#idname的樣式規則#idname {}#idname創建一個選擇器為tagname的樣式規則tagname {}tagname向選擇器為.classname的樣式規則中添加屬性.classname { property: value; }.classname { property: value; }向選擇器為#idname的樣式規則中添加屬性#idname { property: value; }#idname { property: value; }向選擇器為tagname的樣式規則中添加屬性tagname { property: value; }tagname { property: value; }
這些Emmet寫法可以幫助快速編寫CSS樣式規則。
04-背景屬性
背景圖
網頁中,使用背景圖實現裝飾性的圖片效果。
屬性名:background-image(bgi)
屬性值:url(背景圖 URL)
div {
width: 400px;
height: 400px;
background-image: url(./images/1.png);
}
提示:背景圖默認有平鋪(復制)效果。
平鋪方式
屬性名:background-repeat(bgr)
屬性值效果repeat默認值,背景圖像在水平和垂直方向上重復。repeat-x背景圖像在水平方向上重復,垂直方向不重復。repeat-y背景圖像在垂直方向上重復,水平方向不重復。no-repeat背景圖像不重復,僅在盒子內顯示一次。space背景圖像沿著盒子的邊緣平鋪,且圖像之間有空白間隔,使得圖片不會重疊。round背景圖像沿著盒子的邊緣平鋪,且圖像會被縮放以適應整數倍的尺寸。
div {
width: 400px;
height: 400px;
background-color: pink;
background-image: url(./images/1.png);
background-repeat: no-repeat;
}
背景圖位置
屬性名:background-position(bgp)
屬性值:水平方向位置 垂直方向位置
關鍵字
以下是關于背景圖位置的關鍵字的表格:
關鍵字位置top圖片頂部對齊bottom圖片底部對齊left圖片左側對齊right圖片右側對齊center圖片居中對齊top left圖片左上角對齊top right圖片右上角對齊bottom left圖片左下角對齊bottom right圖片右下角對齊
這些關鍵字可以幫助你控制背景圖在元素中的位置。
坐標
水平:正數向右;負數向左
垂直:正數向下;負數向上
div {
width: 400px;
height: 400px;
background-color: pink;
background-image: url(./images/1.png);
background-repeat: no-repeat;
background-position: center bottom;
background-position: 50px -100px;
background-position: 50px center;
}
提示:
關鍵字取值方式寫法,可以顛倒取值順序
可以只寫一個關鍵字,另一個方向默認為居中;數字只寫一個值表示水平方向,垂直方向為居中
背景圖縮放
作用:設置背景圖大小
屬性名:background-size(bgz)
常用屬性值:
關鍵字
cover:等比例縮放背景圖片以完全覆蓋背景區,可能背景圖片部分看不見
contain:等比例縮放背景圖片以完全裝入背景區,可能背景區部分空白
百分比:根據盒子尺寸計算圖片大小
數字 + 單位(例如:px)
div {
width: 500px;
height: 400px;
background-color: pink;
background-image: url(./images/1.png);
background-repeat: no-repeat;
background-size: cover;
background-size: contain;
}
提示:工作中,圖片比例與盒子比例相同,使用 cover 或 contain 縮放背景圖效果相同。
背景圖固定
作用:背景不會隨著元素的內容滾動。
屬性名:background-attachment(bga)
屬性值:fixed
body {
background-image: url(./images/bg.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
}
背景復合屬性
屬性名:background(bg)
屬性值:背景色 背景圖 背景圖平鋪方式 背景圖位置/背景圖縮放 背景圖固定(空格隔開各個屬性值,不區分順序)
div {
width: 400px;
height: 400px;
background: pink url(./images/1.png) no-repeat right center/cover;
}
嘗試一下>>>
05-顯示模式
顯示模式:標簽(元素)的顯示方式。
作用:布局網頁的時候,根據標簽的顯示模式選擇合適的標簽擺放內容。
塊級元素
特點:
獨占一行
寬度默認是父級的100%
添加寬高屬性生效
行內元素
特點:
一行可以顯示多個
設置寬高屬性不生效
寬高尺寸由內容撐開
行內塊元素
特點:
一行可以顯示多個
設置寬高屬性生效
寬高尺寸也可以由內容撐開
轉換顯示模式
屬性:display
以下是關于轉換顯示模式的表格:
屬性值效果block將元素顯示為塊級元素,使元素呈現為一個塊,獨占一行,可以設置寬度和高度,可容納其他元素。inline將元素顯示為內聯元素,使元素呈現為行內元素,不獨占一行,只占據內容所需的空間,不可設置寬高。inline-block將元素顯示為內聯塊元素,元素呈現為行內元素但可以設置寬度和高度,與其他行內元素在一行顯示。none隱藏元素,使元素不可見且不占據空間。flex將元素設置為彈性容器,使其子元素成為彈性項目,可利用彈性布局方式控制元素的排列和對齊方式。grid將元素設置為網格容器,使其子元素成為網格項目,可利用網格布局方式控制元素的排列和對齊方式。inline-flex將元素設置為內聯彈性容器,使其子元素成為彈性項目,可利用彈性布局方式控制元素的排列和對齊方式。inline-grid將元素設置為內聯網格容器,使其子元素成為網格項目,可利用網格布局方式控制元素的排列和對齊方式。
這些屬性值可用于控制元素的顯示模式,從而實現不同的布局效果。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。