order 盒子邊框
復合屬性。設置對象邊框的特性。
盒子邊框三要素:
① 邊框粗細
② 邊框樣式
③ 邊框顏色
語法:border: border-width | border-style | border-color ;
邊框四邊的粗細、樣式、顏色,以及上下左右每個位置的樣式屬性都是可以單獨調整的。
邊框的顏色不是必要的,如果不指定顏色,默認顏色為黑色,但必須為盒子指定寬高。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width: 500px;
height: 50px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
使用 border-style 可為盒子邊框設置樣式,以下示例為實線
/* CSS代碼 */
div{
width: 500px;
height: 50px;
border-style: solid;
}
效果:
示例 CSS 代碼
如果需要設置不同方向的樣式屬性,可以寫在一句 CSS 代碼里,比如說下面這段代碼,上下實線,左右虛線。
/* CSS代碼 */
div{
width: 500px;
height: 50px;
border-style: solid dashed;
}
效果:
屬性值解釋none無輪廓。 border-color將被忽略,border-width計算值為0,除非邊框輪廓為圖像,即border-image。hidden隱藏邊框。IE7及以下尚不支持dotted點狀輪廓。IE6下顯示為dashed效果dashed虛線輪廓solid實線輪廓double雙線輪廓。兩條單線與其間隔的和等于指定的border-width值groove3D凹槽輪廓ridge3D凸槽輪廓inset3D凹邊輪廓outset3D凸邊輪廓
使用 border-width 可為盒子邊框設置粗細,以下示例邊框為 5px 粗細
/* CSS代碼 */
div{
width: 500px;
height: 50px;
border-style: solid;
border-width: 5px;
}
效果
示例 CSS 代碼
如果需要設置不同方向的邊框粗細,可以寫在一句 CSS 代碼里。
比如說下面這段代碼,上下2px,右2px,左5px。
/* CSS代碼 */
div{
width: 500px;
height: 50px;
border-style: solid;
border-width:2px 2px 2px 5px;
}
效果:
可直接輸入
顏色的英文名稱
rgb值
十六進制
使用 border-color 可為盒子邊框設置顏色,以下示例邊框顏色為紅色。
/* CSS代碼 */
div{
width: 500px;
height: 50px;
border-style: solid;
border-width:2px 2px 2px 5px;
border-color: red;
}
效果:
示例 CSS 代碼
上面有兩個示例講述如何設置不同方向的屬性,border-color 也是相同使用方法,此處就不做示例了。
如果你需要同時設置盒子的粗細、樣式、顏色,那么你可以將他們的樣式表寫在同一行代碼里。
例如:
/* CSS代碼 */
div{
border-top: 5px solid red;
}
這段代碼指定了上邊框的三個屬性:粗細、樣式、顏色
border-top 包含了:
其他同理
先來看一個示例
/* CSS代碼 */
div{
width: 100px;
height: 100px;
border-top: 50px solid red;
border-right: 50px solid blue;
border-bottom: 50px solid green;
border-left: 50px solid pink;
}
效果:
細心的你,一定發現了 border 的邊框四條邊交接處是斜角。
此刻我們把盒子的寬高設置為 0
/* CSS代碼 */
div{
width: 0;
height: 0;
border-top: 50px solid red;
border-right: 50px solid blue;
border-bottom: 50px solid green;
border-left: 50px solid pink;
}
效果:
是不是完完全全像四個三角形一樣。
我們只需要把上邊和左右兩邊的三角形隱藏起來,它不就是一個三角形了。
為 border-color 指定 transparent 值,使盒子邊框顏色變透明
/* CSS代碼 */
div{
width: 0;
height: 0;
border-top: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid green;
border-left: 50px solid transparent;
}
效果:
把另外三條邊透明之后,就只剩一個三角形了。
完
部分資料引用自:
置邊框最常使用border,比如這樣:
border: 1px dashed #333;
這是最常規的方法了,今天再來說說其他兩種方法,
這也算是一種比較常規的方法了,
outline: 1px solid;
但需要注意的是,outline是在容器的最外部,與border的渲染還是有點區別的,同時對比下:
border: 1px dashed #333;
outline: 1px solid;
外部實線是outline,內部虛線是border,為了一致,可以設置outline-offset往內縮一點:
outline-offset: -1px;
這是本文的重點,我也是剛get到此項技能,之前一直不知道background居然如此強大,直接上代碼:
background: linear-gradient(90deg, #333 50%, transparent 0) repeat-x 0 0px/9px 1px, #ffffff;
這里我們只設置了上面看,而且還是虛線的,做一說明這種方式的強大,再把其他邊框補上去:
background:
linear-gradient(90deg, #333 50%, transparent 0) repeat-x 0 0px/9px 1px,
linear-gradient(90deg, #333 50%, transparent 0) repeat-x 0 100%/9px 1px,
linear-gradient(0deg, #333 50%, transparent 0) repeat-y 0 0/1px 9px,
linear-gradient(0deg, #333 50%, transparent 0) repeat-y 100% 0px/1px 9px,
#ffffff;
可見,使用background非常的靈活,邊框的位置可以任意調整。
現在我們已經掌握這幾方式,但本文的重點是上面這種,我們現在來動手操練下:
background: linear-gradient(90deg, #29bdd9 0%, #276ace 100%) repeat-x 0 0/100% 5px
,
linear-gradient(-90deg, #29bdd9 0%, #276ace 100%) repeat-x 0 100%/100% 4px,
linear-gradient(180deg, #29bdd9 0%, #276ace 100%) repeat-y 0 0/4px 100%,
linear-gradient(0deg, #29bdd9 0%, #276ace 100%) repeat-y 100% 0/4px 100%,
#eee;
.box {
background:
linear-gradient(90deg, #333 50%, transparent 0) repeat-x,
linear-gradient(90deg, #333 50%, transparent 0) repeat-x,
linear-gradient(0deg, #333 50%, transparent 0) repeat-y,
linear-gradient(0deg, #333 50%, transparent 0) repeat-y;
background-size: 4px 1px, 4px 1px, 1px 4px, 1px 4px;
background-position: 0 0, 0 100%, 0 0, 100% 0;
}
.box:hover {
animation: linearGradientMove .3s infinite linear;
}
@keyframes linearGradientMove {
100% {
background-position: 4px 0, -4px 100%, 0 -4px, 100% 4px;
}
}
.box {
background:
linear-gradient(90deg, #FF8235,#30E8BF, #FF8235) repeat-x,
linear-gradient(90deg, #FF8235,#30E8BF, #FF8235) repeat-x,
linear-gradient(0deg, #FF8235,#30E8BF, #FF8235) repeat-y,
linear-gradient(0deg, #FF8235,#30E8BF, #FF8235) repeat-y;
background-size: 100% 8px, 100% 8px, 8px 100%, 8px 100%;
background-position: 0 0, 0 100%, 0 0, 100% 0;
}
.box:hover {
animation: linearGradientMove 1s infinite linear;
}
@keyframes linearGradientMove {
100% {
background-position: 200px 0, -200px 100%, 0 -200px, 100% 100px;
}
}
以上就是設置邊框的幾個小技巧。
參考:
https://www.cnblogs.com/coco1s/p/14291567.html
模型是CSS布局的基礎,理解它的每個組成部分對于創建整潔、響應式的網頁至關重要。本文將深入探討盒模型的四個主要組成部分:邊距(Margin)、邊框(Border)、填充(Padding)和內容(Content),并解釋它們如何共同工作來創建網頁布局。
在CSS中,盒模型是一種用于設計和布局的概念模型,它將HTML元素視為一個盒子。這個盒子包括了元素的內容、內邊距、邊框和外邊距。理解盒模型對于控制元素的大小和在頁面上的位置至關重要。
+-------------------------------+
| Margin |
| +-------------------------+ |
| | Border | |
| | +-------------------+ | |
| | | Padding | | |
| | | +-------------+ | | |
| | | | Content | | | |
| | | +-------------+ | | |
| | +-------------------+ | |
| +-------------------------+ |
+-------------------------------+
每個盒子從里到外包括:
邊距是盒子外部的空間,它決定了元素之間的間隔。邊距是透明的,不可見,不會被背景顏色或背景圖片覆蓋。
/* 單邊邊距設置 */
.element {
margin-top: 10px; /* 上邊距 */
margin-right: 15px; /* 右邊距 */
margin-bottom: 10px; /* 下邊距 */
margin-left: 15px; /* 左邊距 */
}
/* 簡寫形式 */
.element {
margin: 10px 15px; /* 上下邊距 | 左右邊距 */
}
邊距可以用來創建元素之間的空間,或者將元素與頁面邊緣分開。當兩個元素的垂直邊距相遇時,它們會合并成一個邊距,這個現象稱為邊距折疊。
邊框是盒子的一個可視化組件,圍繞著內邊距和內容。邊框的樣式、寬度和顏色都可以自定義。
.element {
border-style: solid; /* 邊框樣式 */
border-width: 2px; /* 邊框寬度 */
border-color: black; /* 邊框顏色 */
}
/* 簡寫形式 */
.element {
border: 2px solid black;
}
邊框對于突出顯示元素或分隔內容非常有用。你還可以只為邊框的一邊或幾邊設置樣式。
填充是圍繞內容內部的空間,它可以增加內容和邊框之間的距離。與邊距不同,填充區域會被背景顏色或背景圖片覆蓋。
.element {
padding-top: 5px; /* 上填充 */
padding-right: 10px; /* 右填充 */
padding-bottom: 5px; /* 下填充 */
padding-left: 10px; /* 左填充 */
}
/* 簡寫形式 */
.element {
padding: 5px 10px; /* 上下填充 | 左右填充 */
}
填充對于控制元素內部的空白區域非常有用,它可以幫助改善內容的可讀性。
內容是盒子中的文字、圖片或其他媒體。內容的大小可以通過設置width和height屬性來控制,但實際可見區域的大小還會受到內邊距和邊框的影響。
.element {
width: 200px;
height: 150px;
}
內容區域是設計和布局的核心,所有的文本和媒體都在這里顯示。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Margin, Border, Padding Example</title>
<style>
body {
font-family: 'Arial', sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 20px;
}
.container {
max-width: 800px;
margin: auto;
background-color: white;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.header {
background-color: #007bff;
color: white;
padding: 20px;
text-align: center;
}
.content {
padding: 20px;
border: 1px solid #ddd;
margin: 20px;
}
.box {
background-color: #007bff;
color: white;
padding: 10px;
margin: 10px;
border: 3px solid #0056b3;
text-align: center;
}
.footer {
background-color: #333;
color: white;
padding: 10px;
text-align: center;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>Welcome to My Page</h1>
</div>
<div class="content">
<h2>Understanding CSS Box Model</h2>
<p>The CSS box model is essentially a box that wraps around every HTML element. It consists of margins, borders, padding, and the actual content. This model allows us to create space between elements and style them effectively.</p>
<div class="box">Content Box</div>
</div>
<div class="footer">
Footer Content
</div>
</div>
</body>
</html>
理解盒模型是前端開發的基礎,它允許我們精確控制元素的布局和間距。通過恰當地使用邊距、邊框、填充和內容,我們可以創建出既美觀又功能強大的網頁設計。隨著響應式設計的興起,現代CSS框架已經將盒模型的概念整合進其核心,使得跨設備布局變得更加一致和簡單。
在日常開發中,經常使用開發者工具來檢查和調試盒模型的各個部分,確保我們的樣式表現按照預期工作。掌握盒模型,你將能夠更加自信地處理網頁布局的挑戰。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。