1. 程式人生 > >使用 CSS3 的 box-sizing 屬性設置元素大小包含 border 與 padding

使用 CSS3 的 box-sizing 屬性設置元素大小包含 border 與 padding

lang htm tle 內部 p s itl css3 div char

  • 默認情況下,內部元素(如:input)的寬度或高度,是不會包含元素的邊框和內邊距的,這是就需要使用 box-sizing 屬性設置該元素。

  • box-sizing 是 CSS3 的屬性,可以設置以上值:
  1. content-box: 元素 size 不包含 border 和 padding,默認值。
  2. border-box: 元素 size 包含 border 和 padding。
  3. inherit: 指定box-sizing屬性的值,應該從父元素繼承。

  1. 示例1(不使用 box-sizing 屬性):
    1. HTML

      <!DOCTYPE html>
      <html
      lang="en">
      <head>
      <meta
      charset="UTF-8">
      <title>
      box-sizing</title>
      <style
      type="text/css">
      #div1
      {
      width: 300px;
      height: 100px;
      border: solid 1px blue;
      }
      #text1, #text2{
      width: 100%;
      }
      #text2{
      padding-left: 10px;
      }
      </style>
      </head>

      <body>
      <div
      id="div1">
      <input
      type="text" id="text1" value="abc"/>
      <input
      type="text" id="text2" value="abc"
      />
      </div>
      </body>
      </html>

    2. 效果如圖:

    3. 可以發現,內部元素的寬度已經超過父元素寬度。

  2. 示例2(使用 box-sizing 屬性):
    1. 只需要加入如下樣式

      #text1, #text2{
      width: 100%;
      box-sizing: border-box;
      }

    2. 效果如圖:

總結:木有^_^,會用就行。。

使用 CSS3 的 box-sizing 屬性設置元素大小包含 border 與 padding