css屬性及定位操作
字體屬性
文字字體
body {
font-family: "Microsoft Yahei", "微軟雅黑", "Arial", sans-serif
}
字體大小
p { font-size: 14px;
font-size:inherit 如果設(shè)置成inherit表示繼承父元素的字體大小值。
}
字重
| 值 | 描述 |
|---|---|
| normal | 默認值,標(biāo)準粗細 |
| bord | 粗體 |
| border | 更粗 |
| lighter | 更細 |
| 100~900 | 設(shè)置具體粗細,400等同于normal,而700等同于bold |
| inherit | 繼承父元素字體的粗細值 |
文本顏色
顏色屬性被用來設(shè)置文字的顏色。
顏色是通過CSS最經(jīng)常的指定:
- 十六進制值 - 如: #FF0000
- 一個RGB值 - 如: RGB(255,0,0)
- 顏色的名稱 - 如: red
文字屬性
文字對齊
text-align 屬性規(guī)定元素中的文本的水平對齊方式。
| 值 | 描述 |
|---|---|
| left | 左邊對齊 默認值 |
| right | 右對齊 |
| center | 居中對齊 |
| justify | 兩端對齊 |
text-align:left/right/center/jusity
文字裝飾
text-decoration 屬性用來給文字添加特殊效果。
| 值 | 描述 |
|---|---|
| none | 默認。定義標(biāo)準的文本。 |
| underline | 定義文本下的一條線。 |
| overline | 定義文本上的一條線。 |
| line-through | 定義穿過文本下的一條線。 |
| inherit | 繼承父元素的text-decoration屬性的值。 |
常用場景:去除超鏈接自帶的下劃線
a { text-decoration: none; }
首行縮進
將段落的第一行縮進 32像素:
p {
text-indent: 32px;
}
背景屬性
背景顏色
background-color: red;
背景圖片
background-image: url('1.jpg');
背景圖片的特殊示例:
需求介紹:使用背景圖片的一個常見案例就是很多網(wǎng)站會把很多小圖標(biāo)放在一張圖片上,然后根據(jù)位置去顯示圖片。減少頻繁的圖片請求。
示例實現(xiàn)代碼:
<!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>滾動背景圖示例</title> <style> * { margin: 0; } .box { width: 100%; height: 500px; background: url("https://www.luffycity.com/static/img/width-bank.1c9d1b0.png") no-repeat center center; background-attachment: fixed; } .d1 { height: 500px; background-color: tomato; } .d2 { height: 500px; background-color: steelblue; } .d3 { height: 500px; background-color: mediumorchid; } </style> </head> <body> <div class="d1"></div> <div class="box"></div> <div class="d2"></div> <div class="d3"></div> </body> </html>
圓形頭像示例:
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>圓形的頭像示例</title> <style> * { margin: 0; padding: 0; background-color: #eeeeee; } .header-img { width: 150px; height: 150px; border: 3px solid white; border-radius: 100%; overflow: hidden; } .header-img>img { max-width: 100%; } </style> </head> <body> <div class="header-img"> <img src="https://q1mi.github.io/Blog/asset/img/head_img.jpg" alt=""> </div> </body> </html>
背景重復(fù)
repeat(默認):背景圖片平鋪排滿整個網(wǎng)頁 repeat-x:背景圖片只在水平方向上平鋪 repeat-y:背景圖片只在垂直方向上平鋪 no-repeat:背景圖片不平鋪
示例:background-repeat: no-repeat;
背景位置
background-position: right top(20px 20px);
簡寫方式:
background:#ffffff url('1.png') no-repeat right top;
邊框
邊框?qū)傩?/h4>
邊框?qū)傩?nbsp;
- border-width
- border-style
- border-color
#i1 {
border-width: 2px;
border-style: solid;
border-color: red;
}
簡寫方式:
#i1 {
border: 2px solid red;
}
邊框樣式
| 值 | 描述 |
|---|---|
| none | 無邊框。 |
| dotted | 點狀虛線邊框。 |
| dashed | 矩形虛線邊框。 |
| solid | 實線邊框。 |
除了可以統(tǒng)一設(shè)置邊框外還可以單獨為某一個邊框設(shè)置樣式,如下所示:
#i1 {
border-top-style:dotted;
border-top-color: red;
border-right-style:solid;
border-bottom-style:dotted;
border-left-style:none;
}
display屬性
用于控制HTML元素的顯示效果。
| 值 | 意義 |
| display:"none" | HTML文檔中元素存在,但是在瀏覽器中不顯示。一般用于配合JavaScript代碼使用。 |
| display:"block" | 默認占滿整個頁面寬度,如果設(shè)置了指定寬度,則會用margin填充剩下的部分。 |
| display:"inline" | 按行內(nèi)元素顯示,此時再設(shè)置元素的width、height、margin-top、margin-bottom和float屬性都不會有什么影響。 |
| display:"inline-block" | 使元素同時具有行內(nèi)元素和塊級元素的特點。 |
display:"none"與visibility:hidden的區(qū)別:
visibility:hidden: 可以隱藏某個元素,但隱藏的元素仍需占用與未隱藏之前一樣的空間。也就是說,該元素雖然被隱藏了,但仍然會影響布局。
display:none: 可以隱藏某個元素,且隱藏的元素不會占用任何空間。也就是說,該元素不但被隱藏了,而且該元素原本占用的空間也會從頁面布局中消失。
css盒子模型
- margin: 用于控制元素與元素之間的距離;margin的最基本用途就是控制元素周圍空間的間隔,從視覺角度上達到相互隔開的目的。
- padding: 用于控制內(nèi)容與邊框之間的距離;
- Border(邊框): 圍繞在內(nèi)邊距和內(nèi)容外的邊框。
- Content(內(nèi)容): 盒子的內(nèi)容,顯示文本和圖像。

margin與padding
margin外邊框
.margin-test { margin-top:5px; margin-right:10px; margin-bottom:15px; margin-left:20px; }
簡寫方式:
.margin-test {
margin: 5px 10px 15px 20px;
}
順序:上 右 下 左
常見的模式:居中
.mycenter { margin: 0 auto; }
padding內(nèi)填充(內(nèi)邊框)
.padding-test { padding-top: 5px; padding-right: 10px; padding-bottom: 15px; padding-left: 20px; }
簡寫方式:
.padding-test {
padding: 5px 10px 15px 20px;
}
順序:上右下左
補充padding的常用簡寫方式:
- 提供一個,用于四邊;
- 提供兩個,第一個用于上-下,第二個用于左-右;
- 如果提供三個,第一個用于上,第二個用于左-右,第三個用于下;
- 提供四個參數(shù)值,將按上-右-下-左的順序作用于四邊;
浮動(float)屬性
在 CSS 中,任何元素都可以浮動。
浮動元素會生成一個塊級框,而不論它本身是何種元素。
關(guān)于浮動的兩個特點:
- 浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。
- 由于浮動框不在文檔的普通流中,所以文檔的普通流中的塊框表現(xiàn)得就像浮動框不存在一樣。
取值方式:
left:向左浮動
right:向右浮動
none:默認值,不浮動
clear
clear屬性規(guī)定元素的哪一側(cè)不允許其他浮動元素。
| 值 | 描述 |
|---|---|
| left | 在左側(cè)不允許浮動元素。 |
| right | 在右側(cè)不允許浮動元素。 |
| both | 在左右兩側(cè)均不允許浮動元素。 |
| none | 默認值。允許浮動元素出現(xiàn)在兩側(cè)。 |
| inherit | 規(guī)定應(yīng)該從父元素繼承 clear 屬性的值。 |
注意:clear屬性只會對自身起作用,而不會影響其他元素。
父標(biāo)簽塌陷問題
.clearfix:after {
content: "";
display: block;
clear: both;
}
父級坍塌現(xiàn)象及解決方案
父級坍塌現(xiàn)象示例解決方案一:使用固定高度
給.container設(shè)置固定高度,一般情況下文字內(nèi)容不確定多少就不能設(shè)置固定高度,所以一般不能設(shè)置“.container”高度(當(dāng)然能確定內(nèi)容多高,這種情況下“.container是可以設(shè)置一個高度即可解決覆蓋問題。或者給.container加一個固定高度的子div:
固定高度解決方案(不推薦使用)以上方案可以解決但是會使得頁面操作不靈活 不推薦使用
解決方案二 清除浮動(推薦使用)
clear語法:
clear : none | left | right | both
取值:
none : 默認值。允許兩邊都可以有浮動對象
left : 不允許左邊有浮動對象
right : 不允許右邊有浮動對象
both : 不允許有浮動對象
但是需要注意的是:clear屬性只會對自身起作用,而不會影響其他元素。
清除浮動(推薦使用)注意: 1、元素是從上到下、從左到右依次加載的。
2、clear: left;對自身起作用,一旦左邊有浮動元素,即切換到下一行來保證左邊元素不是浮動的,依據(jù)這一點解決父級塌陷問題。
overflow溢出屬性
| 值 | 描述 |
|---|---|
| visible | 默認值。內(nèi)容不會被修剪,會呈現(xiàn)在元素框之外。 |
| hidden | 內(nèi)容會被修剪,并且其余內(nèi)容是不可見的。 |
| scroll | 內(nèi)容會被修剪,但是瀏覽器會顯示滾動條以便查看其余的內(nèi)容。 |
| auto | 如果內(nèi)容被修剪,則瀏覽器會顯示滾動條以便查看其余的內(nèi)容。 |
| inherit | 規(guī)定應(yīng)該從父元素繼承 overflow 屬性的值。 |
overflow(水平和垂直均設(shè)置)
overflow-x(設(shè)置水平方向)
overflow-y(設(shè)置垂直方向)
定位(position)
static(默認)
static 默認值,無定位,不能當(dāng)作絕對定位的參照物,并且設(shè)置標(biāo)簽對象的left、top等值是不起作用的的。
relative(相對定位)
相對定位是相對于該元素在文檔流中的原始位置,即以自己原始位置為參照物。有趣的是,即使設(shè)定了元素的相對定位以及偏移值,元素還占有著原來的位置,即占據(jù)文檔流空間。對象遵循正常文檔流,但將依據(jù)top,right,bottom,left等屬性在正常文檔流中偏移位置。而其層疊通過z-index屬性定義。
注意:position:relative的一個主要用法:方便絕對定位元素找到參照物。
absolute(絕對定位)
定義:設(shè)置為絕對定位的元素框從文檔流完全刪除,并相對于最近的已定位祖先元素定位,如果元素沒有已定位的祖先元素,那么它的位置相對于最初的包含塊(即body元素)。元素原先在正常文檔流中所占的空間會關(guān)閉,就好像該元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。
重點:如果父級設(shè)置了position屬性,例如position:relative;,那么子元素就會以父級的左上角為原始點進行定位。這樣能很好的解決自適應(yīng)網(wǎng)站的標(biāo)簽偏離問題,即父級為自適應(yīng)的,那我子元素就設(shè)置position:absolute;父元素設(shè)置position:relative;,然后Top、Right、Bottom、Left用百分比寬度表示。
另外,對象脫離正常文檔流,使用top,right,bottom,left等屬性進行絕對定位。而其層疊通過z-index屬性定義。
fixed(固定)
fixed:對象脫離正常文檔流,使用top,right,bottom,left等屬性以窗口為參考點進行定位,當(dāng)出現(xiàn)滾動條時,對象不會隨著滾動。而其層疊通過z-index屬性 定義。 注意點: 一個元素若設(shè)置了 position:absolute | fixed; 則該元素就不能設(shè)置float。這 是一個常識性的知識點,因為這是兩個不同的流,一個是浮動流,另一個是“定位流”。但是 relative 卻可以。因為它原本所占的空間仍然占據(jù)文檔流。
在理論上,被設(shè)置為fixed的元素會被定位于瀏覽器窗口的一個指定坐標(biāo),不論窗口是否滾動,它都會固定在這個位置。
<!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"> <title>返回頂部示例</title> <style> * { margin: 0; } .d1 { height: 1000px; background-color: #eeee; } .scrollTop { background-color: darkgrey; padding: 10px; text-align: center; position: fixed; right: 10px; bottom: 20px; } </style> </head> <body> <div class="d1">111</div> <div class="scrollTop">返回頂部</div> </body> </html>
頂部導(dǎo)航菜單示例
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>li標(biāo)簽的float示例</title> <style> /*清除瀏覽器默認外邊距和內(nèi)填充*/ * { margin: 0; padding: 0; } a { text-decoration: none; /*去除a標(biāo)簽?zāi)J的下劃線*/ } .nav { background-color: black; height: 40px; width: 100%; position: fixed; top: 0; } ul { list-style-type: none; /*刪除列表默認的圓點樣式*/ margin: 0; /*刪除列表默認的外邊距*/ padding: 0; /*刪除列表默認的內(nèi)填充*/ } /*li元素向左浮動*/ li { float: left; } li > a { display: block; /*讓鏈接顯示為塊級標(biāo)簽*/ padding: 0 15px; /*設(shè)置左右各15像素的填充*/ color: #b0b0b0; /*設(shè)置字體顏色*/ line-height: 40px; /*設(shè)置行高*/ } /*鼠標(biāo)移上去顏色變白*/ li > a:hover { color: #fff; } /*清除浮動 解決父級塌陷問題*/ .clearfix:after { content: ""; display: block; clear: both; } </style> </head> <body> <!-- 頂部導(dǎo)航欄 開始 --> <div class="nav"> <ul class="clearfix"> <li><a href="">玉米商城</a></li> <li><a href="">MIUI</a></li> <li><a href="">ioT</a></li> <li><a href="">云服務(wù)</a></li> <li><a href="">水滴</a></li> <li><a href="">金融</a></li> <li><a href="">優(yōu)品</a></li> </ul> </div> <!-- 頂部導(dǎo)航欄 結(jié)束 --> </body> </html>
后臺管理布局
將整個頁面分為特定的幾個區(qū)域分別進行編輯 常用的布局方式之一 重要
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .pg-header{ height: 48px; width: 100%; background-color: #2459a2; position: fixed; top:0; left: 0; } .left{ position:absolute; left:0; top:48px; bottom:0; width:200px; background-color: #ededed; } .right{ position:absolute; right:0; left:200px; top:48px; bottom:0; overflow:auto; } .content{ height: 2000px; width: 100%; } </style> </head> <body> <div class="pg-header"></div> <div> <div class="left"> </div> <div class="right"> <div class="content"></div> </div> </div> </body> </html>
posted on 2017-11-03 13:08 WorthWaitingFor 閱讀(250) 評論(0) 收藏 舉報
浙公網(wǎng)安備 33010602011771號