CSS邊框、背景
1.邊框
1.邊框屬性
(1)簡寫方式
border : width style color;
width : 以px為單位的資料
style : 邊框樣式
solid:實線邊框
dotted:虛線邊框(點組成)
dashed:虛線邊框(線)
color:邊框顏色,也可以取值為 transparent (透明)
注意: border : none; / border : 0; 取消邊框
(2)單邊定義
屬性:border-top / right / bottom / left : width style color;
(3)單屬性設定
設定邊框的某一個屬性
屬性: border-width / style / color : 值;
(4)單邊單屬性設定
只設置某一方向的某一屬性值
屬性:border-方向-屬性 : 值;
方向:top / right / bottom / left
屬性:width / style / color
2.邊框倒角
將元素的四個角,由直角倒換成圓角
屬性:border-radius:值;
取值:以px為單位的具體值 / %
3.邊框陰影
屬性:box-shadow
取值:h-shadow v-shadow blur spread color inset
h-shadow : 陰影的水平偏移距離,必須要加的,沒有陰影取值為0,取值為正,陰影右偏移,取值為負,陰影左偏移
v-shadow:陰影的垂直偏移距離,必須的,取值為正,陰影下偏移,取值為負,陰影上偏移
blur:模糊距離,取值越大,模糊效果越明顯,以 px 為單位的數值
spread:陰影的大小,指定要在基礎陰影上擴充出來的大小距離,取值為 px 為單位的數值
color:陰影顏色
inset:將預設的外陰影改為內陰影
4.輪廓
輪廓指邊框的邊框,繪製於邊框外圍的一條線
(1)簡寫方式
outline : width style color;
outline : none; / ourline : 0; 無輪廓
2.框模型
1.框模型(Box Model)規定了元素框處理元素內容、內邊距、邊框和外邊距的方式
外邊距:元素與元素之間的距離
內邊距:元素邊框與內容之間的距離
當框模型介入到元素後,元素的佔地尺寸會發生變化:
元素的寬度 = 左右外邊距+左右邊框+左右內邊距+w;
元素的高度 = 上下外邊距+上下邊框+上下內邊距+h
2.外邊距
屬性:
margin:定義某個元素四個方向的外邊距
margin-top / right / bottom / left
取值:
(1)具體的數值,以px為單位的數字
(2)取值為負,讓元素向反方向移動
margin-left : 取值為正,讓元素右移動;取值為負,讓元素左移動
margin-top :取值為正,讓元素下移動;取值為負,讓元素上移動
(3)取值為 % :外邊距的值,佔父元素寬或者高的佔比
(4)取值為auto :自動計算外邊距的值 (只對塊級的左右外邊距有效 水平居中對齊)
簡潔寫法
(1)margin-value ;
四個方向的外邊距都相同
(2)margin : v1,v2;
v1 :上下外邊距
v2 :左右外邊距
(3)margin :v1,v2,v3;
v1:上外編劇
v2:左右外邊距
v3:下外邊距
(4)margin:v1,v2,v3,v4;
分別是:上,右,下,左
自帶外邊距的元素
h1~h6,p,ul,ol,dl,dd,pre,body
可以通過 CSS Reset(CSS重寫)的手段,來重置具備外邊距的元素
/*取消元素外邊距*/
body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,pre{ margin:0; }
外邊距特殊效果
(1)外邊距合併 : 當兩個垂直外邊距相遇時,他們將合併成一個,最終的距離取決於兩個外邊距中距離較大的那個
(2)外邊距的溢位 : 在某些特殊的條件下(父元素沒有上邊框且為第一個子元素設定上外邊距時),為子元素設定上外邊距時,有可能會作用在父元素上
解決方案: 1、為父元素增加上邊框 弊端:對父元素的高度有影響 2、使用父元素的上內邊距來取代子元素的上外邊距 弊端:對父元素的高度有影響 3、在父元素的第一個子元素位置處,增加一個空 <table></table>
(3)行內元素 以及 行內塊元素的垂直外邊距
行內元素垂直外邊距無效(img除外)
行內塊元素,設定垂直外邊距時,整行元素都跟著發生改變
3.內邊距
(1)內邊距是元素邊框與內容之間的距離,內邊距會擴大元素邊框佔地區域
(2)屬性:
padding : vaule ;
padding-top / right / bottom / left : value;
取值:
以 px 或者 % 為單位的數值
簡介寫法:
padding:value
padding:v1,v2 上下、左右
padding:v1,v2,v3 上、左右、下
padding:v1,v2,v3,v4 上、右、下、左
4.box-sizing屬性
指定框模型的計算方式
取值:
(1)content-box
預設值採用預設的方式計算元素的佔地區域
實際佔地寬度=左右邊框+左右內邊距+width;
實際佔地高度=上下邊框+上下內邊距+height
(2)border-box
元素的尺寸,包含border以及padding的值
實際佔地寬度=width(包含了border和padding)
實際佔地高度=height(包含了border和padding)
練習:
1.建立一個元素id為container,尺寸為 900*150 (最小高度)(包含邊框和內邊距的尺寸) 2.設定邊框的顏色為#D0E4C2,1px,實線 3.在container下邊建立一個p標記,id為page,裡邊新增6個a標記 4.a標記特徵:邊框顏色 #CCC,寬度為1px,實線,倒角,再增加內邊距(3px 10px)
<style type="text/css"> #container{ width: 900px; min-height: 150px; box-sizing: border-box; border: 1px solid #D0E4C2; } a{ border:1px solid #CCC; border-radius: 5px; padding: 3px 10px; } a:focus{ border: 0; } </style> <div id="container"></div> <p id="page"> <a href="#">1</a> <a href="#">2</a> <a href="#">3</a> <a href="#">4</a> <a href="#">5</a> <a href="#">6</a> </p>
3.背景屬性
1.背景色
屬性:background-color
取值:合法的顏色值
注意:背景顏色是從邊框的位置處開始繪製
2.背景圖片
屬性:background-image
取值:url(圖片的地址);
3.背景平鋪
屬性:background-repeat
取值:
(1)repeat 預設值,橫向縱向都平鋪
(2)repeat-x 只在橫向平鋪
(3)repeat-y 只在縱向平鋪
(4)no-repeat 不平鋪
4.背景圖片尺寸
屬性:background-size
取值:
(1)width height
(2)width% height%
(3)cover 將背景圖等比放大,直到背景圖完全覆蓋到元素的所有區域為止
(4)contain 將背景圖等比放大,直到背景圖碰到元素的某一個邊緣為止
5.背景圖片固定
作用:將背景圖固定在網頁的某個位置處,一直在視覺化區域中,不會隨著滾動條而發生位置的變化
屬性:background-attachment
取值:
(1)scroll 預設值,滾動
(2)fixed 固定
注意:為body設定背景圖時,才允許設定背景圖片的固定
6.背景定位
作用:改變背景圖在元素中的位置
屬性:background-position
取值:
(1)x y
x:背景圖水平偏移距離,取值為正,向左移動;取值為負,向右移動
y:背景圖垂直偏移距離,取值為正,向下移動;取值為負,向上移動
(2)x% y%
0% 0% :背景圖在左上角
100% 100% : 背景圖在右下角
100% 0% : 背景圖在右上角
(3)關鍵字
x : left / center / right
y : top / center / bottom
7、背景的簡寫屬性
在一個屬性中指定背景的多個屬性值
屬性:background
取值:color url() repeat attachment position;
注意:如果不設定其中某個值的話,該位置將採用預設值
background:red; background:url(a.jpg) no-repeat;