前端開發:3、CSS之邊框、盒子模型、浮動、溢位、定位、重疊、display
目錄前端開發之CSS
一、CSS之邊框
CSS border
屬性允許您指定元素邊框的寬度、樣式和顏色。
支援單側修改、屬性名簡寫
1、單側修改-以左側為例(left) border-left-width:5px; border-left-styl:dotted; border-left-color:red 簡寫: border-left:5px dotted red 2、多側同時修改 border:5px dotted red 3、變寬倒角 border-radius:50%
CSS 邊框樣式
border-style
屬性指定要顯示的邊框型別。
允許以下值:
-
dotted
- 定義點線邊框 -
dashed
- 定義虛線邊框 -
solid
- 定義實線邊框 -
double
- 定義雙邊框 -
groove
- 定義 3D 坡口邊框。效果取決於 border-color 值 -
ridge
- 定義 3D 脊線邊框。效果取決於 border-color 值 -
inset
- 定義 3D inset 邊框。效果取決於 border-color 值 -
outset
- 定義 3D outset 邊框。效果取決於 border-color 值 -
none
- 定義無邊框 -
hidden
二、display屬性
值 | 描述 |
---|---|
none | 徹底隱藏標籤,頁面上不會顯示標籤且不會保留標籤位置 |
block | 此元素將顯示為塊級元素,此元素前後會帶有換行符。 |
inline | 預設。此元素會被顯示為內聯元素,元素前後沒有換行符。 |
補充:
1、visibility: hidden 與none較為相似,隱藏的不徹底,頁面會保留標籤位置
2、行內標籤無法設定長款,只有塊兒級標籤可以設定
三、盒子模型
可以將標籤看成是一個盒子
-
1、盒子裡面的實際物體
- content(內容)
-
2、盒子內物體與盒子牆壁的距離
- padding(內邊距、內填充)
-
3、盒子的厚度
- border(變寬)
-
4、盒子與盒子的距離,可以看成多個盒子排列在一起
- margin(邊境)
/* !*padding: 20px; 上下左右*!*/
/* !*padding: 20px 40px; 上下 左右*!*/
/* !*padding: 10px 20px 30px;上 左右 下*!*/
/* !*padding: 10px 20px 30px 40px;上 右 下 左*!*/
margin與padding用法一致
針對標籤的巢狀 水平方向可以居中
margin: 0 auto;
四、CSS之浮動
float 屬性
float
屬性用於定位和格式化內容,例如讓影象向左浮動到容器中的文字那裡。
float
屬性可以設定以下值之一:
- left - 元素浮動到其容器的左側
- right - 元素浮動在其容器的右側
- none - 元素不會浮動(將顯示在文字中剛出現的位置)。預設值。
- inherit - 元素繼承其父級的 float 值
clear 屬性
clear
屬性指定哪些元素可以浮動於被清除元素的旁邊以及哪一側。
clear
屬性可設定以下值之一:
- none - 允許兩側都有浮動元素。預設值
- left - 左側不允許浮動元素
- right- 右側不允許浮動元素
- both - 左側或右側均不允許浮動元素
- inherit - 元素繼承其父級的 clear 值
使用 clear
屬性的最常見用法是在元素上使用了 float
屬性之後。
在清除浮動時,應該對清除與浮動進行匹配:如果某個元素浮動到左側,則應清除左側。您的浮動元素會繼續浮動,但是被清除的元素將顯示在其下方。
清除浮動
如果一個元素比包含它的元素高,並且它是浮動的,它將“溢位”到其容器之外:
然後我們可以向包含元素新增 overflow: auto;,來解決此問題:
.clearfix {
overflow: auto;
}
只要您能夠控制外邊距和內邊距(否則您可能會看到滾動條),overflow: auto clearfix 就會很好地工作。但是,新的現代 clearfix hack 技術使用起來更安全,以下程式碼被應用於多數網站:
.clearfix::after {
content: "";
clear: both;
display: table;
}
五、CSS之溢位
Overflow
overflow
屬性指定在元素的內容太大而無法放入指定區域時是剪裁內容還是新增滾動條。
overflow
屬性可設定以下值:
-
visible
- 預設。溢位沒有被剪裁。內容在元素框外渲染 -
hidden
- 溢位被剪裁,其餘內容將不可見 -
scroll
- 溢位被剪裁,同時新增滾動條以檢視其餘內容 -
auto
- 與scroll
類似,但僅在必要時新增滾動條
註釋:overflow
屬性僅適用於具有指定高度的塊元素。
註釋:在 OS X Lion(在 Mac 上)中,滾動條預設情況下是隱藏的,並且僅在使用時顯示(即使設定了 "overflow:scroll")。
六、CSS之定位
position 屬性
position
屬性規定應用於元素的定位方法的型別。
有五個不同的位置值:
- static靜態(標籤預設的狀態 無法定位移動)
- relative相對定位(基於標籤原來的位置)
- fixed固定定位(基於瀏覽器視窗固定不動)
- absolute絕對定位(基於某個定位過的父標籤做定位)
- sticky據使用者的滾動位置進行定位。
元素其實是使用 top、bottom、left 和 right 屬性定位的。但是,除非首先設定了 position 屬性,否則這些屬性將不起作用。根據不同的 position 值,它們的工作方式也不同。
.c1 {
background-color: red;
height: 100px;
width: 100px;
position: relative;
}
.c2 {
background-color: greenyellow;
height: 100px;
width: 200px;
position: absolute;
top: 100px;
left: 100px;
}
.c1 {
border: 5px solid black;
height: 100px;
width: 100px;
position: fixed;
right: 100px;
bottom: 200px;
}
六、CSS之重疊元素
Z-index
在對元素進行定位時,它們可以與其他元素重疊。
z-index
屬性指定元素的堆疊順序(哪個元素應放置在其他元素的前面或後面)。
元素可以設定正或負的堆疊順序:
img {
position: absolute;
left: 0px;
top: 0px;
z-index: -1;
}