zoukankan      html  css  js  c++  java
  • css 盒模型相关样式

      话不多说,一切还是从最基础的说起。

     盒的类型

     1.盒的基本类型

      在css中,用display定义盒的类型,一般分为block类型与inline类型。

      例如div属于block类型,span属于inline类型

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            div{
                background-color: yellow;
            }
            span
            {
                background-color: #000099;
            }
        </style>
    </head>
    <body>
       <div>我是div</div>
       <span>我是span</span>
       <span>我也是span</span>
    </body>
    </html>

      通过运行这段代码,我们可以清楚的可以看到block类型的宽度占满整个浏览器,而inline元素的宽度等于其内容的宽度

      每一行只允许容纳一个block元素,但是可以容纳多个inline元素。

      下来我们可以通过display属性把div改成block类型,把span改成inline属性,看下其运行效果。

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            div{
                background-color: yellow;
                display: inline;
            }
            span
            {
                background-color: #000099;
                display: block;
            }
        </style>
    </head>
    <body>
       <div>我是div</div>
       <span>我是span</span>
       <span>我也是span</span>
    </body>
    </html>

      2.inline-block类型

      inline-block属于block盒的一种,把元素的display属性设置成inline-block,其显示和设置

      成inline一样,但是元素的width、height属性只能作用于block元素上。

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            div{
                background-color: yellow;
                display:inline-block;
                width: 100px;
                height: 100px;
            }
    
        </style>
    </head>
    <body>
       <div>我是div</div>
       <div>我是div2</div>
    </body>
    </html>

      3.inline-table类型

      先看下列子

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            table
            {
                width: 200px;
                border: solid 1px red;
                display: inline-table;
                vertical-align: bottom;
            }
            td{
                border: solid 1px red;
            }
        </style>
    </head>
    <body bo>
       大家好
       <table>
           <tr>
               <td>1</td>
           </tr>
           <tr>
               <td>2</td>
           </tr>
       </table>
       大家好
    </body>
    </html>

      table属于block类型,要想文字和table同行显示,需要把table的display属性设置成inline-table,但是各个浏览器

      对于文字和表格的对齐方式有所差别,一般情况下要设置其对齐方式。

      4.list-item类型

      可以将多个元素当做列表来显示,并在其前加上列表标记。

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
          div{
              display: list-item;
              list-style-type: decimal;
              margin-left: 30px;
          }
        </style>
    </head>
    <body bo>
       <div>list1</div>
       <div>list2</div>
       <div>list3</div>
       <div>list4</div>
       <div>list5</div>
    </body>
    </html>

      5.none类型

      把元素设置成none类型,该元素将不会被显示。

      6.overflow属性

      overflow属于用于对盒中内容显示不下时显示方法。

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
          #div1{
              width: 100px;
              height: 100px;
              border: solid 1px red;
              overflow: hidden;
          }
          #div2{
              margin-top: 10px;
              width: 100px;
              height: 100px;
              border: solid 1px green;
              overflow: scroll;
          }
        </style>
    </head>
    <body>
       <div id="div1">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
       <div id="div2">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
    </body>
    </html>

      同时还有overflow-x,overflow-y两个属性,可以单独给水平或者垂直方向超出盒范围的内容的显示

      显示方式进行设置。

       7.box-sizing属性

      box-sizing属性是css3中新增的盒模型属性。

      在css中使用width和height可以设置元素的宽度和高度,但是可以使用box-siziing属性,可以指定

      用width与height属性设置的宽度与高度是否包含元素内部的补白区域,以及边框的宽度和高度。

      box-sizing属性值为content-box,及border-box。content-box表示元素的宽度与高度不包括内部的补白区域

      及边框的宽度高度,border-box表示元素的宽度与高度包括内部补白区域及边框的宽度及高度。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            div{
                width: 300px;
                height: 300px;
                border: solid 30px red;
                padding:30px ;
    
            }
            div#div1{
    
              box-sizing: content-box;
              -webkit-box-sizing: content-box;
          }
            div#div2{
    
              box-sizing: border-box;
              -webkit-box-sizing: border-box;
          }
        </style>
    </head>
    <body>
       <div id="div1">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
       <div id="div2">测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
    </body>
    </html>

  • 相关阅读:
    POJ 2195 Going Home(费用流)
    HDU 2485 Destroying the bus stations(费用流)
    POJ 3281 Dining(最大流)
    POJ 1122 FDNY to the Rescue!(最短路+路径输出)
    HDU 4747 Mex(线段树)
    POJ 2337 Catenyms
    UVa 10328 Coin Toss(Java大数+递推)
    HDU 1811 Rank of Tetris(拓扑排序+并查集)
    ZOJ 3747 Attack on Titans
    UVa 11404 回文子序列(LCS求最长回文串长度)
  • 原文地址:https://www.cnblogs.com/fifalover09/p/4653815.html
Copyright © 2011-2022 走看看