html5和css3進階(基礎(chǔ))----01

emmet語法

vscode內(nèi)置emmet語法結(jié)構(gòu),點擊!+Tab可以生成。想生成什么標簽直接輸入名字。

父子關(guān)系:使用>。

兄弟關(guān)系:使用+。

自動化格式代碼
復(fù)合選擇器
ol li{
?
xxx;
?
}

注意:中間隔開,ol為父類,li為子類。

子元素選擇器(子選擇器)
<style>
nav a{
color:red;
}
</style>
<body>
<div class="nav">
<a href="#">子類1</a>  //變紅
<a href="#">子類2</a>
</div>
</body>
并集選擇器

規(guī)范:使用,隔開

<style>
nav1,                //并集選擇器適合豎著寫。
a,
.nav2{
color:red;
}
</style>
<body>
<div class="nav1">大哥</div>
<a href="#">兄弟</a>
<div class="nav2">
<a href="#">子類1</a>  //變紅
<a href="#">子類2</a>
</div>
</body>
鏈接偽類選擇器

使用:來表示。

  • 鏈接偽類選擇器

  • 結(jié)構(gòu)偽類

    ---- ----
    a:link 選擇所有未被訪問的鏈接
    a:visited 選擇已被訪問的鏈接
    a:hover 選擇鼠標指針位于其上的鏈接
    a:active 選擇活動鏈接

    順序執(zhí)行:LVHA。

focus偽類選擇器
input:focus{

background-color:yellow;

}

input選取的表單元素。

常見的塊元素
<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>

塊級元素的特點:

1.獨占一行。

2.高度,寬度,外邊距以及內(nèi)邊距都可以控制。

3.寬度是默認容器的100%。

4.是一個容器及盒子,里面可以放行內(nèi)或者塊級元素。

注意:文字類的元素內(nèi)不能使用塊級元素。

p、h標簽主要用于存放文字,因此p里面不能放塊級元素。

常見的行內(nèi)元素
<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>

行內(nèi)元素的特點:

1.相鄰行內(nèi)元素在一行上,一行可以顯示多個。

2.高、寬直接設(shè)置無效。

3.默認寬度就是它本身內(nèi)容的寬度。

4.行內(nèi)元素只能容納文本或其他行內(nèi)元素。

行內(nèi)塊元素
<img />、<input />、<td>

它們同時具有塊元素和行內(nèi)元素的特點。

行內(nèi)塊元素的特點:

1.和相鄰行內(nèi)元素(行內(nèi)塊)在一行上,但是他們之間會有空白間隙,一行可以顯示多個。

2.默認寬度就是他本身的內(nèi)容寬度。

3.高度、行高,外邊距以及內(nèi)邊距都難以控制(塊級元素特點)。

元素顯示模式轉(zhuǎn)換
  • 轉(zhuǎn)換為塊元素:display:block;

  • 轉(zhuǎn)換為行內(nèi)元素:display:inline;

  • 轉(zhuǎn)換為行內(nèi)塊:display:inline-block;

文字的垂直居中

當(dāng)height:xxpx;和line-height:xxpx;相等時,可以在盒子中實現(xiàn)垂直居中的效果。

css背景
背景顏色:

background-color:transparent|color(透明|顏色)。

背景圖片(裝飾性小圖片或者是超大的背景圖片,便于控制位置):

background-image:url(url)|none;

background-repeat|no-repeat|repeat-x|repeat-y

repeat:平鋪|no-repeat:不平鋪|repeat-x:向x軸平鋪|repeat-y:向y軸平鋪

位置控制:

background-position:center top;//水平向上

background-position:right center;//向右水平垂直

注意:與方位名詞順序無關(guān)。

background-position:right;//此時,水平一定是靠右對齊,第二個參數(shù)省略y軸。

background-position:top;//此時,水平一定是向上對齊,第二個參數(shù)省略x軸。

背景固定:

background-attachment:scroll(滾動)|fixed(固定);

背景復(fù)合寫法:

background:black url(url) repeat-y fixed top;

背景顏色半透明:

background:(0,0,0,0.5);//最后一個參數(shù)是alpha透明度,取值范圍在0-1之間。

css三大特性
層疊性:
div{
color:red;
font-size:;//不會覆蓋掉
}
?
div{
color:yellow;
}

就近原則:下面的就會覆蓋掉上面的,不會全部覆蓋掉,不同的東西不會覆蓋掉。

繼承性:
div{
color:red;
}
?
<div>
<p>aaa</p>
</div>
?
p標簽的顏色會繼承父類div的顏色。

作用:降低css樣式的復(fù)雜性,簡化代碼。

行高的繼承:

father{
color:red;
font:12px(文字大小)/24px(行高)或者1.5倍'Microsoft YaHei';
}
son{
font-size:14px;
1.5*14//當(dāng)前的行高
}
p{
font-size:16px;
1.5*16//當(dāng)前的行高
}
<div class="father">
<div class="son">
<p>aaa</p>
</div>
</div>
優(yōu)先級
  • 選擇器相同,執(zhí)行疊層性。

  • 選擇器不同,根據(jù)權(quán)重執(zhí)行。

選擇器 選擇器權(quán)重
繼承或者* 0,0,0,0
元素選擇器 0,0,0,1
類選擇器,偽類選擇器 0,0,1,0
ID選擇器 0,1,0,0
行內(nèi)樣式,style=“” 1,0,0,0
!important 重要的 無窮大

繼承權(quán)重為0。

css盒子模型

網(wǎng)頁的布局過程:

最重要的一步就是利用盒子的浮動進行布局。

盒子里面的內(nèi)容:

border:邊框
border-width:xxpx;
?
border-style:solid(實線邊框)|dotted(點線)|dashed(虛線);
?
border-color:顏色;
?
邊框的復(fù)合性寫法:border:1px solid red;//沒有順序
?
邊框可以分開來寫。

舉個例子

寫一個盒子200*200,上邊框為 紅色,其余邊框為藍色。

方案一
div{
width:200px;
height:200px;
border-top:1px solid red;
border-left:1px solid blue;
border-bottom:1px solid blue;
border-right:1px solid blue;
}
?
<div></div>
方案二:
div{
width:200px;
height:200px;
border:1px solid blue;
border-top:1px solid red;
}
?
<div></div>

注意:

1.很顯然,第二種方式更加簡單,因為利用了css樣式的層疊性,red只是層疊了上邊框。

2.border-top不能夠放在border上面的,因為就近原則。

3.邊框會影響盒子的實際大小。

border-collapse:collapse;會把相鄰的邊框合在一起。

content:內(nèi)容
padding:內(nèi)邊距(設(shè)置邊框與盒子內(nèi)容之間的距離)。
  • 1個值,代表上下左右相同。

  • 2個值,代表上下是一個值,左右是一個值。

  • 3個值,代表上一個值,左右一個值,下一個值。

  • 4個值,代表上下左右分別代表不同的值。

順序:上--右--下--左 順時針轉(zhuǎn)圈。

案例:做導(dǎo)航欄的時候使用padding撐開盒子。

margin:外邊距(控制盒子和盒子之間的距離)
嵌套塊元素垂直外邊距的塌陷

很明顯,我沒有設(shè)置父類盒子的外邊距,我只是設(shè)置了子類盒子的外邊距,為什么會掉下來了?

這個問題我遇到過很多次,原因就是在有嵌套關(guān)系的時候,父元素有上外邊距,此時父元素會塌陷較大的外邊距值。

解決方案:
  • 為父元素定義一個上邊框。

  • 可以為父元素定義內(nèi)邊距。

  • 可以為父元素添加overflow:hidden;

清除內(nèi)外邊距

*{

margin:0;

padding:0;

}

這是我看的pink老師講的html和css的進階部分的學(xué)習(xí)筆記,講的非常好,由于以前學(xué)過這部分的知識,所以有的部分寫的比較簡單或者遺漏的,希望大家見諒。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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