zoukankan      html  css  js  c++  java
  • 盒子属性,浮动,定位

    1.盒子常见属性

    1)容器盒子

    Box-size:设置盒子模型,CSS3标准,

    content-box:正常默认模式,起源于谷歌,元素的整体大小会被内边距和边框撑开

    border-box:怪异模式,起源于IE,元素的整体大小不会被内边距和边框撑开

    Width:宽度

    Height:高度

    注意:width,height会根据box-size盒子模型的不同来决定是内容的宽度和高度,还是整个元素大小的宽度和高度。

    2)Padding:内边距

    Padding-left,padding-right,padding-top,padding-bottom

    Padding:上 右 下 左;

    Padding:上 右 下;左边距等于右边距

    Padding:上 右;下跟上边一样,左跟右一样

    3)Margin:外边距

    外边距跟内边距一致。但是两个元素的外边距会重叠。

    4)Border:边框

    语法:border: 边框宽度 边框样式 颜色;

    可以分开设置,例如

    border- 30px;

    border-style: dashed;

    border-color: purple;

    分别设置上下左右边框,例如

    border-bottom:50px dotted green;

    5)Box-shadow:盒子阴影

    box-shadow: 阴影的水平偏移值 阴影的垂直偏移值 阴影的模糊度 阴影的颜色;

    6)Display:设置盒子是块级元素还是行级元素还是弹性元素

    Block:块级元素,会占据一整行,有宽高,div,h1,p,li,ul...

    Line-block:行块元素,不会占据一整行,有宽高,img...

    Line:行元素,不会占据一整行,也没有宽高,a,span...

    7)Border-radius:边框的圆角

    8)Background:设置元素的背景,背景图片,背景颜色

    Background:是一个综合性的属性,可以分出背景颜色,背景图片,背景是否重复,背景图片的位置,背景图片的大小

    Background-position:设置背景图片的位置,left,right,top,bottom,center,百分比一般可以设置2值,第一个值是设置水平位置,第二个值设置垂直位置

    Background-size:设置背景图片的大小,注意:有时候不知道图片的确切比例的时候,只需要设置一个宽度或者高度,另外一个值设置为auto即可。

    2.浮动

    浮动元素会寻找父元素的边缘或者是同样浮动元素的边缘,紧紧的靠拢在一起。

    1)优点

    [1]可以让文字包围图片。

    [2]可以去掉莫名其妙的间距

    [3]可以让内容向左和向右排布

    2)大问题

    父元素高度塌陷

    原因:使用了浮动的元素,会脱离正常的文档流,使其父元素找不到子元素,从而认为自己内部没有元素,所以没有高度。

    3)解决方案:

    [1]给父元素设置高度

    [2]万能的解决方案

     

    案例代码:

      1 <!DOCTYPE html>
      2 
      3 <html>
      4 
      5 <head>
      6 
      7 <meta charset="UTF-8">
      8 
      9 <title></title>
     10 
     11 <style type="text/css">
     12 
     13 .parent{
     14 
     15 width: 900px;
     16 
     17 /*height: 600px;*/
     18 
     19 border: 1px solid #000;
     20 
     21 margin: 20px auto;
     22 
     23 }
     24 
     25  
     26 
     27 .child{
     28 
     29 width: 200px;
     30 
     31 height: 200px;
     32 
     33 background: skyblue;
     34 
     35 display: inline-block;
     36 
     37  
     38 
     39 }
     40 
     41  
     42 
     43  
     44 
     45 .left{
     46 
     47 float: left;
     48 
     49 }
     50 
     51  
     52 
     53 .right{
     54 
     55 float: right;
     56 
     57 }
     58 
     59  
     60 
     61 /*
     62 
     63  解决方案:清除浮动
     64 
     65  1、在父元素的最后面加上一个div
     66 
     67  2、设置这个div的样式为:clear:both;
     68 
     69  
     70 
     71  缺点:多了1个div,结构比较混乱
     72 
     73  * */
     74 
     75  
     76 
     77 /*
     78 
     79  完美升级方案:
     80 
     81  1、使用伪元素创建一个假的元素,:after在元素的最后面创建一个假的子元素
     82 
     83  2、设置这个假的元素为块级元素
     84 
     85  3、清除左右浮动clear:both
     86 
     87  * */
     88 
     89  
     90 
     91 .clear:after{
     92 
     93 content: "";
     94 
     95 display: block;
     96 
     97 clear: both;
     98 
     99 }
    100 
    101 </style>
    102 
    103 </head>
    104 
    105 <body>
    106 
    107 <div class="parent">
    108 
    109 <!--只有class才可以同时放置多个class,中间用空格隔开-->
    110 
    111 <div class="child left"></div>
    112 
    113 <div class="child right"></div>
    114 
    115 <div class="child right"></div>
    116 
    117  
    118 
    119 <div style="clear: both;"></div>
    120 
    121 </div>
    122 
    123  
    124 
    125  
    126 
    127 <div class="parent clear">
    128 
    129 <!--只有class才可以同时放置多个class,中间用空格隔开-->
    130 
    131 <div class="child left"></div>
    132 
    133 <div class="child right"></div>
    134 
    135 <div class="child right"></div>
    136 
    137  
    138 
    139  
    140 
    141 </div>
    142 
    143 </body>
    144 
    145 </html>

    弹性布局--->当下最佳布局方式。

    3.定位(Position)

    1)相对定位relative

    语法:postion:relative;

    特点:相对于自身进行位移,只是样子进行了移动,其实还是会牢牢占据原来的位置,不会影响到整个布局的变化

     

    2)绝对定位absolute

    语法:postion:absolute

    特点:脱离正常的文档流,不会占据原来的位置。相对于设置了定位的父元素或者是祖先元素。

     

    3)固定定位fixed

    语法:position:fixed

    特点:脱离正常的文档流,不会占据原来的位置。相对于浏览器进行定位

     

    4)层:z-index

    语法:Z-index:数字;

    解析:z-index可以设置统一级别下,使用了定位的层级关系。z-index值越大,层越在上面。默认情况下,所有元素的z-index值为0。没有使用定位的元素,不可用。

  • 相关阅读:
    jNotify:操作结果信息提示条
    jqurey datatable tableTools 自定义button元素 以及按钮定义事件
    jqurey datatable mRender FnRender 不起作用问题
    VS2013 ViewData ViewBag Ajax等关键词报错(当前上下文不存在名称)而且不提示也点不出来,但是可以正常运行,
    关于 update别名 与update select
    EF 保证线程内唯一 上下文的创建
    文件接收上传
    lucence.net+盘古分词
    log4net 入门教程
    MVC+EF OA观看视频记录
  • 原文地址:https://www.cnblogs.com/qq2267711589/p/10923380.html
Copyright © 2011-2022 走看看