目錄css
只有塊級標籤才能夠設置寬高。html
行內標籤設置長寬以後不生效,取決於內部文本值。瀏覽器
/*塊級標籤設置寬度、高度*/ div { width: 200px; height: 400px; } /*行內標籤設置寬度、高度無效*/
/*給字體設置屬性*/ p { font-family: "KaiTi", "微軟雅黑", "Arial", sans-serif; font-size: 24px; font-weight: lighter; color: red; color:#352AFF; color: rgb(185,126,255); color: rgba(185,126,255,0.5); }
font-family:設置字體樣式,若是瀏覽器不支持第一個字體,則會嘗試下一個字體樣式佈局
font-size:設置字體大小字體
font-weight:設置字體的字重(粗細)網站
color:設置字體顏色,能夠有三種方法獲取顏色url
一、打開Pycharm畫板選中想要的顏色,直接寫十六進制。翻譯
二、直接寫顏色的英文3d
三、寫rgb值:軟件截圖下面有rgb值。code
四、rgba值:也是rgb值,四個參數,最後一個參數寫對比度(0~1)0是透明,1是不透明
字重(粗細):
font-weight
用來設置字體的字重(粗細),有以下參數:
值 | 描述 |
---|---|
normal | 默認值,標準粗細 |
bold | 粗體 |
bolder | 更粗 |
lighter | 更細 |
100~900 | 設置具體的粗細,400=normal,700=bold |
<style> p { font-weight: bolder; font-size: 30px; text-align: center; text-align: left; text-align: right; text-align: justify; text-indent: 48px; text-decoration: underline; text-decoration: overline; text-decoration: line-through; text-decoration: none; } a { text-decoration: none; } a:hover { color: black; } </style>
text-align:
屬性規定元素中的文本的水平對齊方式。
值 | 描述 |
---|---|
left | 左對齊,默認值 |
right | 右對齊 |
center | 居中對齊 |
justify | 兩端對齊 |
text-decoration
屬性用來給文字添加特殊效果
值 | 描述 |
---|---|
none | 默認的文本 |
underline | 文本下劃線 |
overline | 文本上劃線 |
line-through | 文本刪除線 |
經常用於去掉 a標籤默認的下劃線。
a {text-decoration: none;}
將段落的第一行縮進 32像素
p {text-indent: 48px;}
<style> div { width: 1000px; height: 1000px; background-color: orange; background-repeat: no-repeat; background-repeat: repeat-x; background-repeat: repeat-y; background-position: 10px 50px; background-position: center center; background: url("111.jpg") red no-repeat center right; } </style>
background-color:背景色,能夠填顏色英文單詞、十六進制、rgb、rgba
background-image:url()
填寫圖片的路徑
background-position:定義圖片的位置。
background-repeat:定義圖片平鋪方式
repeat:默認值,背景圖片平鋪整個背景。
repeat-x:背景圖片在水平方向上平鋪
repeat-y:背景圖片在垂直方向上平鋪
no-repeat:背景圖片不平鋪,只顯示一張
支持簡寫:圖片地址、背景色、平鋪方式、圖片位置
background: url("111.jpg") red no-repeat center right;
背景圖片應用場景:
全部瀏覽器你可以看到的都是走網路請求傳輸過來的
當你的網站須要用到不少小圖標的時候,能夠將全部的小圖片放在一張圖片上,而後經過背景圖片的位置來控制顯示哪個小圖片,從而節省加載資源
如今,通常直接將圖片轉化爲文字代碼來傳輸,再將文字代碼翻譯爲圖片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; } .box { width: 100%; height: 500px; background: url("111.jpg") red no-repeat center center; background-attachment: fixed; } .d1 { height: 500px; background-color: tomato; } .d2 { height: 500px; background-color: steelblue; } .d3 { height: 500px; background-color: mediumaquamarine; } </style> </head> <body> <div class="d1"></div> <div class="box"></div> <div class="d2"></div> <div class="d3"></div> </body> </html>
邊框 border
後面寫三個參數:
屬性能夠簡寫,位置無順序
border: 3px solid black
也能夠以單獨設置樣式、顏色、粗細
p { border-left: 3px solid red; border-bottom: 5px dotted green; border-top: 1px dashed orchid; border-right: 10px solid dimgrey; border-style: dot-dash; border-color: red; }
邊框的樣式:
值 | 描述 |
---|---|
none | 無邊框 |
dotted | 點狀虛線邊框 |
dashed | 矩陣虛線邊框 |
solid | 實線邊框 |
畫圓:先畫邊框,其次調整圓角度數。
border-radius:50% 能夠經過這個參數來控制圓角的度數
若是寬和高同樣,那麼就是個圓形
若是不同,那麼不必定是橢圓。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { border: 1px solid black; background-color: red; height: 400px; width: 400px; /*border-radius: 20px;*/ border-radius: 50%; } </style> </head> <body> <div></div> </body> </html>
display屬性用於控制HTML元素的顯示效果
值 | 描述 |
---|---|
none | 隱藏元素 |
block | 將行內標籤變成塊級標籤 |
inline | 將塊級標籤變成行內標籤 |
inline-block | 既能夠設置長寬,又能夠在一行裏面展現 |
visibility:hidden | 隱藏元素 |
雖說none參數能夠隱藏某個元素,另一個選擇器也能夠隱藏屬性:
visibility: hidden
:隱藏某個元素以後,元素所佔的空間不會被釋放
display:none
:隱藏某個元素以後,元素所佔的空間會被釋放,下面的元素會頂替,可能會影響佈局
首先說一下谷歌瀏覽器 有一個特色,body內默認有8px的外邊距,咱們能夠寫在css樣式中通用的樣式:
body {margin:0}
以快遞盒爲例 形容一下盒子模型:
上下左右外邊距
margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0;
推薦使用簡寫:
body { margin: 0; 只寫一個參數,上下左右外邊距所有調整 margin: 10px 15px; 寫兩個參數,第一個參數控制的上下,第二個參數控制左右 margin: 10px 20px 30px; 寫三個參數,1:上,2:左右,3:下 margin: 10px 20px 30px 40px; 寫四個參數,順時針,上右下左所有控制 }
上下左右內邊距
padding-bottom: 100px; padding-top: 100px; padding-left: 100px; padding-right: 100px;
推薦使用簡寫
padding: 0; 只寫一個參數,上下左右外邊距所有調整 padding: 10px 15px; 寫兩個參數,第一個參數控制的上下,第二個參數控制左右 padding: 10px 20px 30px; 寫三個參數,1:上,2:左右,3:下s padding: 10px 20px 30px 40px; 寫四個參數,順時針,上右下左所有控制
在CSS中,任何元素均可以浮動,主要用於頁面佈局。
浮動是脫離文檔流的,不會遵循塊級獨佔一行的特色。
浮動元素會生成一個塊級框,不論它自己是什麼元素。
關於浮動的兩個特色:
浮動的框是能夠向左 或 向右移動,知道它的外邊緣碰到包含框或另外一個浮動框的邊框爲止。
因爲浮動框不在文檔的普通流中,因此文檔的普通流中的快框表象的就像浮動框不存在同樣,也就是說浮動會形成父標籤塌陷。
請看下圖,當把框 1 向右浮動時,它脫離文檔流而且向右移動,直到它的右邊緣碰到包含框的右邊緣:
再請看下圖,當框 1 向左浮動時,它脫離文檔流而且向左移動,直到它的左邊緣碰到包含框的左邊緣。由於它再也不處於文檔流中,因此它不佔據空間,實際上覆蓋住了框 2,使框 2 從視圖中消失。
若是把全部三個框都向左移動,那麼框 1 向左浮動直到碰到包含框,另外兩個框向左浮動直到碰到前一個浮動框。
以下圖所示,若是包含框太窄,沒法容納水平排列的三個浮動元素,那麼其它浮動塊向下移動,直到有足夠的空間。若是浮動元素的高度不一樣,那麼當它們向下移動時可能被其它浮動元素「卡住」:
浮動有三種方式:
clear屬性規定元素的哪一側不容許其餘浮動元素。
clear屬性只對自身起做用,不會影響其餘元素。
值 | 描述 |
---|---|
left | 在左側不容許浮動元素 |
right | 在右側不容許浮動元素 |
both | 在左右兩側不容許浮動元素 |
none | 默認值,容許浮動元素出如今兩側 |
清除浮動有三種方式:
overflow:hidden
.clearfix:after { content: ' '; clear: both; display: block; }
哪裏塌陷了,就給那個標籤加一個clearfix類屬性便可。
若是給當前標籤加沒有效果,那麼能夠考慮給目標標籤外層再套一個div,而後給這個新的div加。
浮動的應用場景
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body { margin: 0; } .c1 { float: left; width: 20%; height: 1000px; background-color: red; } .c2 { float: right; width: 80%; height: 1000px; background-color: green; } </style> </head> <body> <div class="c1"></div> <div class="c2"></div> </body> </html>
div { height: 50px; width: 50px; border: 3px solid black; /*overflow: hidden;*/ overflow: auto; }
值 | 描述 |
---|---|
visible | 默認值,內容不會被修剪,呈如今元素框以外 |
hidden | 超出的內容會隱藏(能夠作圓形頭像) |
scroll | 內容會被修剪,可是瀏覽器會顯示滾動條以便查看其他的內容 |
auto | 若是內容被修剪, |
作圓形頭像例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body { background-color:#418899 ; } .c1 { width: 400px; height: 400px; border: 3px solid white; overflow: hidden; border-radius: 50%; } </style> </head> <body> <div class="c1"> <img src="111.jpg" alt=""> </div> </body> </html>
全部的標籤默認都是靜態的,沒法直接經過 (top:10px; right:10px; bottom, left)調節位置,須要將其設置成可定位狀態。
static 默認值,無定位,不能看成絕對定位的參照物,而且設置標籤對象的top:10px ;right:10px,bottom,left等值並無毛用
position:relative;
相對定位是相對於該元素在文檔流中的原始位置,即以本身原始位置(無定位時位置,上圖爲原始位置)爲參照物
有趣的是,即便設定了元素的相對定位以及偏移值,元素還佔有着原來的位置,即佔據文檔流空間。
對象遵循正常文檔流,但將依據top,right,bottom,left等屬性在正常文檔流中偏移位置。而其層疊經過z-index屬性定義。
注意:position:relative的一個主要用法:方便絕對定位元素找到參照物。
.c1 { width: 100px; height: 100px; background-color: gold; position: relative; left: 100px; top: 100px; }
position:absolute;
定義:設置爲絕對定位的元素框從文檔流徹底刪除,並相對於最近的已定位祖先元素定位(必須是祖先,通常是父標籤)
若是元素沒有已定位的祖先元素,那麼它的位置相對於最初的包含塊(即body元素)
元素原先在正常文檔流中所佔的空間會關閉,就好像該元素原來不存在同樣。元素定位後生成一個塊級框,而不論原來它在正常流中生成何種類型的框。
重點:若是父級設置了position屬性,例如position:relative;,那麼子元素就會以父級的左上角爲原始點進行定位。這樣能很好的解決自適應網站的標籤偏離問題,即父級爲自適應的,那我子元素就設置position:absolute;父元素設置position:relative;,而後Top、Right、Bottom、Left用百分比寬度表示。
另外,對象脫離正常文檔流,使用top,right,bottom,left等屬性進行絕對定位。而其層疊經過z-index屬性定義。
.c2 { position: relative; height: 500px; width: 200px; background-color: black; } .c3 { position: absolute; height: 200px; width: 800px; top: -50px; left: 200px; background-color: pink; }
fixed:對象脫離正常文檔流,
使用top,right,bottom,left(不配合使用沒毛用)等屬性以整個窗口爲參考點進行定位,如:position:fixed;bottom:10px; right:10px;即爲當前頁面右下角
當出現滾動條時,對象不會隨着滾動。而其層疊經過z-index屬性 定義。
注意點: 一個元素若設置了 position:absolute | fixed; 則該元素就不能設置float。這 是一個常識性的知識點,由於這是兩個不一樣的流,一個是浮動流,另外一個是「定位流」。可是 relative 卻能夠。由於它本來所佔的空間仍然佔據文檔流。
在理論上,被設置爲fixed的元素會被定位於瀏覽器窗口的一個指定座標,不論窗口是否滾動,它都會固定在這個位置。
示例代碼:(網頁返回頂部按鈕樣式)
.c2 { border: 5px solid black; background-color: pink; position: fixed; bottom: 50px; right: 50px; }
是否脫離文檔流?
脫離文檔流的
絕對定位
固定定位
浮動
不脫離文檔流的
相對定位
#i2 {z-index: 999;}
設置對象的層疊順序
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .cover { background-color: rgba(128,128,128,0.4); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 999; } .modal { background-color: white; z-index: 1000; position: fixed; height: 200px; width: 400px; top: 50%; left: 50%; margin-top: -100px; margin-left: -200px; } </style> </head> <body> <div>我是最底下的被壓着那個</div> <div class="cover"></div> <div class="modal"> <form action=""> <p> username:<input type="text"> </p> <p> password:<input type="text"> </p> <p> 提交:<input type="submit"> </p> </form> </div> </body> </html>
用來定義透明效果,取值範圍是0~1,0是徹底透明,1是徹底不透明
比背景色透明度更牛逼。