• 简单的任意列数均匀布局


      今天无意间发现了一种之前未见过的css中多列对齐的方式。想想原来要对齐总是设置各种float,然后宽度,有时还会因为因为设置的宽度不够精确导致div块移动到下一列。现在看到的方式可以针对任意多列布局,省去了计算的麻烦。

      核心的是text-align:justify以及伪元素的配合使用。

      实现效果:

      

      text-align:justify 的意思是两端对齐。并且很特殊的是text-align:justify 不处理块内的最后一行文本(包括块内仅有一行文本的情况,这时既是第一行也是最后一行),因此如果有多行怎么办呢?

      我们利用伪元素来充当最后一行。

    <div class="container">
        <div class="justify">
            <i>1</i>
            <i>2</i>
            <i>3</i>
            <i>4</i>
            <i>5</i>
            <!--[if lte IE 7]>
            <b></b><![endif]--><!-- 兼容不支持伪元素的 ie678 -->
        </div>
        <div class="justify">
            <i>1</i>
            <i>2</i>
            <i>3</i>
            <i>4</i>
        </div>
        <div class="justify">
            <i>1</i>
            <i>2</i>
            <i>3</i>
        </div>
        <div class="justify">
            <i>1</i>
            <i>2</i>
        </div>
        <div class="justify">
            <i>1</i>
        </div>
    </div>

      样式表:

     1         .container{
     2             width:400px;
     3             margin:50px auto 0;
     4         }
     5         .justify {
     6             position: relative;
     7             width: 100%;
     8             height: 24px;
     9             text-align: justify;   /*外层设置对齐方式*/
    10             margin-bottom: 20px;
    11         }
    12         .justify i{
    13             width:24px;
    14             line-height:24px;
    15             display:inline-block;
    16             text-align:center;
    17             background:#333;
    18             color:white;
    19             border-radius:50%;
    20             overflow: hidden;
    21             font-style: normal;
    22         }
    23         .justify:after{
    24             content:"";  /*添加伪元素*/
    25         }
    26         .justify:after,
    27         .justify b{
    28             display: inline-block;  /*设置display*/
    29             position:relative;
    30             top:-28px;
    32             height:1px;
    33             line-height: 0;
    34             width:100%;   /*伪元素宽度撑满*/
    35             background:#333;
    36             z-index:-1;
    37             *zoom:1;
    38         }

      也就是核心的就下面的代码,简单爽快。

            .justify{
                width: 500px;
                height: 300px;
                text-align: justify;
            }
            .justify:after{
                content:'';
                display: inline-block;
                width:100%;
            }
            .justify i{
                display:inline-block;
                text-align:center;
            }
    jeyfang
  • 相关阅读:
    VSM(Virtual Storage Manager For Ceph)安装教程
    [转]jquery插件弹出div
    SQL HierarchyID 数据类型
    [转]由于项目原因看了一下vml,写了一个Web工作流的设计器雏形!
    IIS压缩
    javascript动态创建VML
    [转]数据库设计 Step by Step (5)
    SQLServer2008/2005 生成数据字典SQL语句
    VML流程图
    OSWorkflow表结构分析
  • 原文地址:https://www.cnblogs.com/jeyfang/p/6274604.html
Copyright © 2020-2023  润新知