zoukankan      html  css  js  c++  java
  • 兼容IE的两端对齐

    div+css布局实现2端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法:

    html结构

    实现demo里面的div通过Css进行2端对齐。

    <div class="box">
    	<div class="demo">
    	    <div>1</div>
    	    <div>2</div> 
    	    <div>3</div>
    	</div>
    </div>
    1.margin负值的方式

    该方法需要外面多嵌套一层来实现,通过元素的间距,做为中间层的margin溢出值来实现

    <style>
    .box{
         300px;margin:auto;overflow:hidden;border:1px solid #ddd;
    }
    .box .demo{
        margin-left:-10px;310px
    }
    .box .demo div{
         93.333px;/*(计算:(300-10*2)/3)*/
         float:left;
         margin-left:10px;
    }
    </style>
    2.display:inline-block/text-align:justify方式

    justify方式比较简单方便。只要一个简单元素做了声明,里面的元素就自动等间距两端对齐布局啦!根本无需计算每个列表元素间的margin间距,更不用去修改父容器的宽度。

    注意一点:demo结构内元素必须存在【换行符】或【空格符】,否则直接连着写将不会生效

    <style>
    .demo{
         margin:0;padding:0;
         text-align:justify;
         text-align-last:justify;/*解决IE的支持*/
         line-height:0;/*解决标准浏览器容器底部多余的空白*/
    }
    @media all and (-webkit-min-device-pixel-ratio:0){
      .demo{
         font-size:0;/*webkit清除元素中使用[换行符]或[空格符]后,最后元素多余的空白*/
      }
    }
    .demo:after{/*text-align-last:justify只有IE支持,标准浏览器需要使用 .demo:after 伪类模拟类似效果*/
         display:inline-block;
         overflow:hidden;
         100%;
         height:0;
         content:'';
         vertical-align:top;/*opera浏览器解决底部多余的空白*/
    }
    .demo div{
         20%;
         display:inline-block;
         text-align:center;/*取消上层元素的影响*/
         text-align-last:center;
         font-size:12px;
    }
    </style>
    3.css3 属性 space-between

    该方法基于webkit内核的webapp开发和winphone IE10及以上,常用于移动端布局。

    <style>
    .demo{
        display:-webkit-box;
        display:-webkit-flex;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:justify;
        -webkit-justify-content:space-between;
        -ms-flex-pack:justify;
        justify-content:space-between;
    }
    
    .demo div{
         30%; 
    }
    </style>
    4.css3属性column-count

    column属性是多列布局,使用column来实现两端对齐只需要设置模块的个数跟column的列数一致即可,推荐使用于移动端布局

    <style>
    .demo{
         -webkit-column-count:3;-moz-column-count:3;column-count:3;
         -webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px; 
    }
    
    .demo div{
         
    }
    </style>

    参考链接
    http://www.fly63.com/article/detial/24
  • 相关阅读:
    谁说AI看不懂视频?
    为什么说容器的崛起预示着云原生时代到来?
    小熊派开发实践丨漫谈LiteOS之传感器移植
    华为云如何赋能无人车飞驰?从这群AI热血少年谈起
    趣味科普丨一文读懂云服务器的那些事儿
    【API进阶之路】研发需求突增3倍,测试团队集体闹离职
    这个应用魔方厉害了,让软件开发者效率提升10倍
    数据安全无小事:揭秘华为云GaussDB(openGauss)全密态数据库
    数据湖探索DLI新功能:基于openLooKeng的交互式分析
    基本数据类型与表达式5 零基础入门学习Delphi06
  • 原文地址:https://www.cnblogs.com/nicoleyani/p/9233311.html
Copyright © 2011-2022 走看看