CSS架構
盒子模型;
以內容區(顯示文字和影像)
內邊距(內容區至邊距的距離)
邊距(內容區的邊界)
外邊距(元素的邊框之間的距離)
1.邊距;
border屬性;
簡寫屬性用來設定邊距的上(top)右(right)下(bottom)左(left)。寬度,顏色和樣式
<style>
div{
width: 200px;
height: 200px;
background-color: blue;
border-right: 5px double darkgray;
border-bottom: 10px dashed red;
border-left: 15px dotted lime;
}
</style>
</head>
<body>
<div></div>
</body>
盒子的陰影;
以box-shadow屬性設定盒子陰影效果
offset-x表示陰影的水平方向偏移量;
負值為左偏移正值為右偏移
offset-y表示陰影的垂直方向偏移量;
負值為左偏移正值為右偏移
<style>
div{
width:200px;
height: 200px;
background-color: blue;
box-shadow: 3px 3px 3px black;
/*設定盒子陰影*/
}
</style>
</head>
<body>
<div></div>
</body>
邊框圓角;
以border-radius定義來設定邊距的圓角;直角,圓角還是橢圓角
<style>
div {
width: 100px;
height: 100px;
}
#qq {
background-color: red;
border-radius: 25px;
}
#ww {
background-color: blue;
border-radius: 50px;
}
#ee {
background-color: lime;
border-radius: 50px 25px;
}
img {
border-radius: 50px;
}
</style>
</head>
<body>
<div id="qq"></div>
<div id="ww"></div>
<div id="ee"></div>
<img src="imgs/26.jpg" width="100px">
</body>
邊框影像;
以border-image定義來設定在元素的邊框上的影像
<style>
div {
width: 100px;
height: 100px;
/*background-color: lightcoral;*/
border: 30px solid transparent;
/*
邊框的影像 - 類似於背景影像的設定
* border-image-source - 設定邊框影像的路徑
* border-image-width - 設定邊框影像的寬度
* border-image-repeat - 設定邊框影像的平鋪方式
*/
border-image: url("https://mdn.mozillademos.org/files/4127/border.png") 30;
}
</style>
</head>
<body>
<div>愛新覺羅</div>
</body
2.內邊距;
paddying屬性;
也屬於簡寫屬性用來設定盒子的內邊距上,右,下,左
<style>
#qq{
width: 200px;
height: 200px;
background-color: blue;
padding-top: 50px;
<!---->
padding-right: 100px;
padding-bottom: 150px;
padding-left: 200px;
}
#hh{
width: 200px;
height: 200px;
background-color: red;
}
</style>
</head>
<body>
<div id="qq">
<div id="hh"></div>
</div>
</body>
3.外邊距;
上外邊距和左外邊距;
以margin-left設定元素的水平方向的位置
值為正數,當前元素向右移動
值為負數,當前元素向左移動
margin-top設定元素垂直方向的位置
值為正數,當前元素向下移動
值為負數,當前元素向上移動
上外邊距和右外邊距
以margin-bottom設定下一個元素的位置
值為正數,下一個兄弟元素向下移動
值為負數,下一個兄弟元素向上移動
margin-right設定下一個元素的位置
值為正數,下一個兄弟元素向右移動
值為負數,下一個兄弟元素向左移動
<style>
div {
display: inline-block;
}
#d1 {
width: 200px;
height: 200px;
background-color: lightcoral;
/*
margin-bottom 下外邊距控制塊級元素的下一個兄弟元素的位置
* 如果值為正數的話,下一個兄弟元素向下移動
* 如果值為負數的話,下一個兄弟元素向上移動
*/
/*margin-bottom: -100px;*/
/*
margin-right 右外邊距控制內聯元素或行內塊級元素的下一個兄弟元素的位置
* 如果值為正數的話,下一個兄弟元素向右移動
* 如果值為負數的話,下一個兄弟元素向左移動
*/
/*margin-right: -5px;*/
}
#d2 {
width: 200px;
height: 200px;
background-color: yellowgreen;
margin-left: -5px;
}
</style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
</body>
外邊距重疊;
以設定兩個相鄰的元素的外邊距,第一個設定下外邊距第二個設定上外邊距
<style>
#qq{
width: 200px;
height: 200px;
background-color: blue;
margin-bottom: 100px;
/*id為ww的div元素向下移動100px*/
}
#ww{
width: 200px;
height: 200px;
background-color: red;
margin-top: 200px;
/*id為ww的div元素向下移動200px*/
}
</style>
</head>
<body>
<div id="qq"></div>
<!--<p>愛新覺羅</p>-->
<div id="ww"></div>
</body>
外邊距傳遞;
以設定兩個元素師父子元素,當子元素設定上外邊距,該上邊距會在父級元素內出現
<style>
#qq{
width: 200px;
height: 100px;
background-color: blue;
/*設定背景顏色*/
padding-top: 100px;
/*為子級元素設定上邊距*/
}
#ww{
width:100px;
height: 100px;
background-color: red;
/*設定背景顏色*/
}
</style>
</head>
<body>
<div id="qq">
<!--必須是父級與子級關係的元素-->
<div id="ww"></div>
</div>
</body>
內容水平居中;
以margin: 0 auto;父級div設定在元素的水平居中
<style>
p {
/*該屬性只對文字內容水平對齊*/
text-align: center;
/*文字水平方向居中*/
}
div{
width: 100px;
height: 100px;
background-color: blue;
margin: 0 auto;
}
</style>
</head>
<body>
<p>星際戰甲</p>
</body>
4.盒子模型;
塊級元素盒子模型;
可設定寬高,設定高度為其中內容的高度
<style>
div{
width: 200px;
height: 200px;
background-color: blue;
border: 1px solid black;
/*設定邊框的樣式*/
padding: 50px;
/*設定內邊距*/
margin: 50px;
/*設定外邊距*/
}
</style>
</head>
<body>
<div></div>
</body>
內塊級元素盒子模型;
是不可設定寬和高,元素的大小事其中內容撐起
<style>
span{
width: 200px;
height: 200px;
background-color: red;
border: 1px solid black;
padding: 30px;
/*水平方向內邊距是有效;設定文字內容的水平方向位置*/
/*垂直方向內邊距是有效;文字內容位置沒有變,而內邊距會向上或向下擴充套件*/
margin: 30px;
/*垂直方向上或下的外邊距是無效的
而水平方向的外邊距是有效的*/
}
</style>
</head>
<body>
<span>星際戰甲</span>
</body>
行內塊級元素盒子模型;
不自動換行,可設定寬高;
<style>
div{
width: 100px;
height: 100px;
border: 1px solid black;
padding: 30px;
/*設定內邊距*/
margin: 30px;
/*設定外邊距*/
}
#qq{
background-color: red;
}
#hh{
background-color: blue;
}
</style>
</head>
<body>
<div id="qq"></div>
<div id="hh"></div>
</body>
box-sizing屬性;
以box-sizing屬性設定盒子模型;
content-box;為預設值為標準盒子模型
設定為內容區;內邊距;邊框;外邊框
border-box;為怪異盒子模型
設定盒子的大小;外邊距
#qq {
width: 200px;
height: 200px;
/*
預設值,標準盒子模型
* 實際的寬度 = width + padding-left + padding-right + border-left + border-right
* 實際的高度 = height + padding-top + padding-bottom + border-top + border-bottom
*/
box-sizing: content-box;
border: 10px solid black;
<!--設定邊框-->
padding: 50px;
/*設定內邊距*/
margin: 50px;
/*設定外邊距*/
background-color: lightcoral;
}
#hh {
width: 200px;
height: 200px;
/*
怪異盒子模型
* 實際寬度 = width
* 實際高度 = height
*/
box-sizing: border-box;
border: 10px solid black;
<!--設定邊框-->
padding: 50px;
/*設定內邊距*/
margin: 50px;
/*設定外邊距*/
background-color: green;
}
</style>
</head>
<body>
<div id="qq"></div>
<div id="hh"></div>