zoukankan      html  css  js  c++  java
  • 单行文本两端对齐

    在项目中,遇到一些信息列表描述的需求时,很多时候,设计给出来的设计图大概会类似于如下格式:

    这种需求应该也属于常见需求了,之前遇到的时候确实也没什么特别好的办法,基本上都是依靠给文字之间加上空格来保证同等宽度的两端对齐。

    前两天,看到有人也遇到类似问题了,就想着是不是可以完全依赖css来解决,思考之中,想来在一定的变通之后,text-align: justify似乎应该能够解决这一需求。

    也看了一些其他人解决这一方案的文章,最终觉得还就是text-align: justify最靠谱。

    我们都知道text-align: justify设置文本对齐的话,针对的并不是单行的文本,所以这里就需要我们进行变通了。

    <div class="align-justify">
        <dl>
          <dt>姓名<i></i></dt>
          <dd>:</dd>
          <dd>张三丰</dd>
        </dl>
    
        <dl>
          <dt>所属学校<i></i></dt>
          <dd>:</dd>
          <dd>南京第一附属学校</dd>
        </dl>
        <dl>
          <dt>归属地<i></i></dt>
          <dd>:</dd>
          <dd>南京</dd>
        </dl>
    </div>
    
    .align-justify {
      padding: 0 0.3rem;
    }
    .align-justify dl {
      font-size: 0.3rem;
      line-height: 2;
      color: #4a4a4a;
      height: 0.6rem;
      overflow: hidden;
    }
    .align-justify dl > * {
      display: inline-block;
      line-height: 2;
      vertical-align: top;
    }
    .align-justify dl > dt {
       5em;
      text-align: justify;
      line-height: 2;
      overflow: hidden;
    }
    .align-justify dl > dt span {
      display: inline-block;
      vertical-align: top;
      line-height: 2;
    }
    .align-justify dl i {
      display: inline-block;
       100%;
      height: 0;
    }
    

      其实,利用的也就是text-align: justify两队对齐,在文本最后加一个i标签,这个标签名无所谓哪个标签都可以,然后设置其为display:inline-block; 100%; 让其与文本同一行,宽度100%之后,就自然而然的自动换行了。

      而由于多余标签i会独占一行,所以对dl需要设置高度,并进行overflow: hidden;或者对dt设置也可以。

  • 相关阅读:
    redis的其他命令
    redis的有序集合ZSET(stored set)
    redis 的set数据类型
    redis 的hash数据类型
    php命令
    intellij idea
    生产者消费者问题
    JAVA sleep和wait 异同
    JAVA线程通信
    java线程同步--lock锁(JDK 5 新增)
  • 原文地址:https://www.cnblogs.com/zhuhuoxingguang/p/7443965.html
Copyright © 2011-2022 走看看