整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          19.HTML CSS邊距、邊框、填充和內容

          19.HTML CSS邊距、邊框、填充和內容

          模型是CSS布局的基礎,理解它的每個組成部分對于創建整潔、響應式的網頁至關重要。本文將深入探討盒模型的四個主要組成部分:邊距(Margin)、邊框(Border)、填充(Padding)和內容(Content),并解釋它們如何共同工作來創建網頁布局。

          盒模型概述

          在CSS中,盒模型是一種用于設計和布局的概念模型,它將HTML元素視為一個盒子。這個盒子包括了元素的內容、內邊距、邊框和外邊距。理解盒模型對于控制元素的大小和在頁面上的位置至關重要。

          盒模型的結構

          +-------------------------------+
          |           Margin              |
          |  +-------------------------+  |
          |  |        Border           |  |
          |  |  +-------------------+  |  |
          |  |  |     Padding       |  |  |
          |  |  |  +-------------+  |  |  |
          |  |  |  |   Content   |  |  |  |
          |  |  |  +-------------+  |  |  |
          |  |  +-------------------+  |  |
          |  +-------------------------+  |
          +-------------------------------+
          

          每個盒子從里到外包括:

          • 內容(Content):這是盒子中的實際內容,包括文本、圖片或其他媒體。
          • 內邊距(Padding):內容區域周圍的空間,內邊距是透明的。
          • 邊框(Border):圍繞內邊距和內容的線框,可以設置大小、樣式和顏色。
          • 外邊距(Margin):盒子外圍的空間,用來隔開相鄰的盒子。

          邊距(Margin)

          邊距是盒子外部的空間,它決定了元素之間的間隔。邊距是透明的,不可見,不會被背景顏色或背景圖片覆蓋。

          /* 單邊邊距設置 */
          .element {
            margin-top: 10px;    /* 上邊距 */
            margin-right: 15px;  /* 右邊距 */
            margin-bottom: 10px; /* 下邊距 */
            margin-left: 15px;   /* 左邊距 */
          }
          
          /* 簡寫形式 */
          .element {
            margin: 10px 15px;   /* 上下邊距 | 左右邊距 */
          }
          

          邊距可以用來創建元素之間的空間,或者將元素與頁面邊緣分開。當兩個元素的垂直邊距相遇時,它們會合并成一個邊距,這個現象稱為邊距折疊。

          邊框(Border)

          邊框是盒子的一個可視化組件,圍繞著內邊距和內容。邊框的樣式、寬度和顏色都可以自定義。

          .element {
            border-style: solid; /* 邊框樣式 */
            border-width: 2px;  /* 邊框寬度 */
            border-color: black; /* 邊框顏色 */
          }
          
          /* 簡寫形式 */
          .element {
            border: 2px solid black;
          }
          

          邊框對于突出顯示元素或分隔內容非常有用。你還可以只為邊框的一邊或幾邊設置樣式。

          填充(Padding)

          填充是圍繞內容內部的空間,它可以增加內容和邊框之間的距離。與邊距不同,填充區域會被背景顏色或背景圖片覆蓋。

          .element {
            padding-top: 5px;    /* 上填充 */
            padding-right: 10px;  /* 右填充 */
            padding-bottom: 5px; /* 下填充 */
            padding-left: 10px;   /* 左填充 */
          }
          
          /* 簡寫形式 */
          .element {
            padding: 5px 10px;   /* 上下填充 | 左右填充 */
          }
          

          填充對于控制元素內部的空白區域非常有用,它可以幫助改善內容的可讀性。

          內容(Content)

          內容是盒子中的文字、圖片或其他媒體。內容的大小可以通過設置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框架已經將盒模型的概念整合進其核心,使得跨設備布局變得更加一致和簡單。

          在日常開發中,經常使用開發者工具來檢查和調試盒模型的各個部分,確保我們的樣式表現按照預期工作。掌握盒模型,你將能夠更加自信地處理網頁布局的挑戰。

          例1: 邊框顯示的方向一致

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="UTF-8">
          <title></title>
          <style type="text/css">
          *{
          margin: 0;
          padding: 0;
          vertical-align: top;
          }
          div.box{
          width: 427px;
          height: 240px;
          margin: 100px auto;
          border: 5px solid #F8EBD8;
          position: relative;
          padding: 10px;
          }
          div.mask{
          width: 427px;
          height: 240px;
          background-color: #8E715B;
          position: absolute;
          left: 10px;
          top: 10px;
          /*注意我們不能過渡display position等屬性*/
          opacity: 0;
          transition: 1s;
          }
          .box:hover>.mask{
          opacity: 1;
          }
          p{
          position: absolute;
          transition: 0.5s;
          background-color: #8E715B;
          }
          p.top{
          width: 0px;
          height: 5px;
          left: -5px; /* 因為有邊框存在 絕對定位包括內邊距(padding) */
          top: -5px;
          }
          p.right{
          width: 5px;
          height: 0px;
          right: -5px;
          top: -5px;
          }
          p.bottom{
          width: 0px;
          height: 5px;
          right: -5px;
          bottom: -5px;
          }
          p.left{
          width: 5px;
          height: 0px;
          left: -5px;
          bottom: -5px;
          }
          .box:hover>.top,.box:hover>.bottom{
          width: 452px;
          }
          .box:hover>.right,.box:hover>.left{
          height: 265px;
          }
          dl{
          color: #8E715B;
          font-size: 14px;
          padding: 10px 20px;
          line-height: 24px;
          
          transition: 1s 1s;
          }
          dt{
          font-size: 16px;
          }
          .box:hover dl{
          color: #fff;
          }
          </style>
          </head>
          <body>
          <div class="box">
          <img src="img/迪麗熱巴2.jpg"/>
          <div class="mask">
          <dl>
          <dt><strong>迪麗熱巴</strong></dt>
          <dd>1992年6月3日出生于新疆烏魯木齊市,中國內地影視女演員,畢業于上海戲劇學院。2013年,迪麗熱巴因主演個人首部電視劇《阿娜爾罕》而出道。2014年,她主演了奇幻劇《逆光之戀》。2015年,迪麗熱巴憑借愛情劇《克拉戀人》贏得高人氣,并獲得國劇盛典最受歡迎新人女演員獎。</dd>
          </dl>
          </div>
          
          <p class="top"></p>
          <p class="right"></p>
          <p class="bottom"></p>
          <p class="left"></p>
          </div>
          </body>
          </html>

          實例2: 邊框顯示的方向相反

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="UTF-8">
          <title></title>
          <style type="text/css">
          *{
          margin: 0;
          padding: 0;
          vertical-align: top;
          }
          div.box{
          width: 427px;
          height: 240px;
          margin: 100px auto;
          border: 5px solid #F8EBD8;
          position: relative;
          padding: 10px;
          }
          div.mask{
          width: 427px;
          height: 240px;
          background-color: #8E715B;
          position: absolute;
          left: 10px;
          top: 10px;
          /*注意我們不能過渡display position等屬性*/
          opacity: 0;
          transition: 1s;
          }
          .box:hover>.mask{
          opacity: 1;
          }
          p{
          position: absolute;
          transition: 0.5s;
          background-color: #8E715B;
          }
          p.top{
          width: 0px;
          height: 5px;
          left: -5px;
          top: -5px;
          }
          p.right{
          width: 5px;
          height: 0px;
          right: -5px;
          bottom: 0px;
          }
          p.bottom{
          width: 0px;
          height: 5px;
          right: -5px;
          bottom: -5px;
          }
          p.left{
          width: 5px;
          height: 0px;
          left: -5px;
          top: 0px;
          }
          .box:hover>.top,.box:hover>.bottom{
          width: 452px;
          }
          .box:hover>.right,.box:hover>.left{
          height: 265px;
          }
          </style>
          </head>
          <body>
          <div class="box">
          <img src="img/迪麗熱巴2.jpg"/>
          <div class="mask"></div>
          
          <p class="top"></p>
          <p class="right"></p>
          <p class="bottom"></p>
          <p class="left"></p>
          </div>
          </body>
          </html>

          實例: 按照順序顯示邊框

          order 盒子邊框

          復合屬性。設置對象邊框的特性。

          盒子邊框三要素:

          ① 邊框粗細

          ② 邊框樣式

          ③ 邊框顏色

          語法:border: border-width | border-style | border-color ;

          邊框四邊的粗細、樣式、顏色,以及上下左右每個位置的樣式屬性都是可以單獨調整的。

          邊框的顏色不是必要的,如果不指定顏色,默認顏色為黑色,但必須為盒子指定寬高。


          初始 HTML

           <!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 代碼

          • 上邊:border-top-style: double; (雙線)
          • 右邊:border-right-style: solid; (實線)
          • 下邊:border-bottom-style: dashed; (虛線)
          • 左邊:border-left-style: dotted; (點線)


          border-style 說明

          • 如果提供全部四個參數值,將按上、右、下、左的順序作用于四邊。
          • 如果只提供一個,將用于全部的四邊。
          • 如果提供兩個,第一個用于上、下,第二個用于左、右。
          • 如果提供三個,第一個用于上,第二個用于左、右,第三個用于下。
          • 如果border-width等于0,本屬性將失去作用。

          如果需要設置不同方向的樣式屬性,可以寫在一句 CSS 代碼里,比如說下面這段代碼,上下實線,左右虛線。

           /* CSS代碼 */
           div{
               width: 500px;
               height: 50px;
               border-style: solid dashed;
           }

          效果:


          border-style 樣式屬性值

          屬性值解釋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 代碼

          • 上邊:border-top-width: 10px; (雙線)
          • 右邊:border-right-width: 10px; (實線)
          • 下邊:border-bottom-width: 10px; (虛線)
          • 左邊:border-left-width: 10px; (點線)


          border-width 說明

          • 如果提供全部四個參數值,將按上、右、下、左的順序作用于四邊。
          • 如果只提供一個,將用于全部的四邊。
          • 如果提供兩個,第一個用于上、下,第二個用于左、右。
          • 如果提供三個,第一個用于上,第二個用于左、右,第三個用于下。
          • 如果border-style設置為none或hidden,border-width的使用值將為0。

          如果需要設置不同方向的邊框粗細,可以寫在一句 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-top-color: 10px;
          • 右邊:border-right-color: 10px;
          • 下邊:border-bottom-color: 10px;
          • 左邊:border-left-color: 10px;


          border-color 說明

          • 如果提供全部四個參數值,將按上、右、下、左的順序作用于四邊。
          • 如果只提供一個,將用于全部的四邊。
          • 如果提供兩個,第一個用于上、下,第二個用于左、右。
          • 如果提供三個,第一個用于上,第二個用于左、右,第三個用于下。
          • 如果border-width等于0或border-style設置為none,本屬性將被忽略。

          上面有兩個示例講述如何設置不同方向的屬性,border-color 也是相同使用方法,此處就不做示例了。




          border 是復合屬性

          如果你需要同時設置盒子的粗細、樣式、顏色,那么你可以將他們的樣式表寫在同一行代碼里。

          例如:

           /* CSS代碼 */
           div{
               border-top: 5px solid red;
           }

          這段代碼指定了上邊框的三個屬性:粗細、樣式、顏色

          border-top 包含了:

          • border-top-width: 5px;
          • border-top-style: solid;
          • border-top-color: red;

          其他同理




          教你用 CSS 畫個三角形

          先來看一個示例

           /* 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;
           }

          效果:

          把另外三條邊透明之后,就只剩一個三角形了。





          部分資料引用自:

          • http://caibaojian.com/css3/properties/border/index.htm

          主站蜘蛛池模板: 日韩动漫av在线播放一区| 一区二区三区影院| 狠狠做深爱婷婷综合一区 | 日韩AV无码一区二区三区不卡毛片 | 亚洲国产精品成人一区| 国产一区二区高清在线播放| 91久久精品午夜一区二区| 亚洲一区二区三区在线播放| 亚洲一区二区久久| 亚洲国产成人久久一区WWW | 精品少妇ay一区二区三区 | 日韩精品一区二区三区老鸦窝| 久久久人妻精品无码一区| 亚洲高清毛片一区二区| 成人影片一区免费观看| 国产熟女一区二区三区五月婷| 国产在线观看一区精品| 91视频一区二区三区| 亚洲午夜精品一区二区麻豆| 麻豆一区二区免费播放网站| 无码人妻精品一区二区三区66| 色一情一乱一伦一区二区三区| 伊人色综合视频一区二区三区 | 怡红院AV一区二区三区| 精品欧洲av无码一区二区| 久久国产精品一区免费下载| 精品国产不卡一区二区三区| 国产一区二区精品久久91| 日韩精品一区在线| 国产欧美一区二区精品仙草咪| 国产大秀视频在线一区二区| 无码播放一区二区三区| 亚洲中文字幕无码一区二区三区| 国产精品无码一区二区在线观一 | 亚洲av无码片区一区二区三区| 国产一区二区内射最近更新| 久久久久一区二区三区| 乱子伦一区二区三区| 亚洲AV无码国产精品永久一区| 亚洲日韩中文字幕无码一区| 国精产品999一区二区三区有限|