A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叶夜葉 中级黑马   /  2018-9-20 21:34  /  952 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 叶夜葉 于 2018-9-21 09:58 编辑

转载:https://www.cnblogs.com/jyybeam/p/6074619.html
  在平常的开发过程中,对于text-align一般用到的是left,center,right,这三个属性都不会陌生。然而,对于justify的使用我却是很陌生。首先有个比较简单的例子。
  首先是html代码:
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .demo{
            width: 70px;
            /*text-align: justify;*/
        }
    </style>
</head>
<body>
    <div class = 'demo'>
        <p>飞洒发fd达fasdf省sdf份发f送fdfd大df夫df萨</p>
    </div>
</body>
</html>

先是不使用justify的结果:

然后我们使用justify,结果是:


  可以看出每一段都对齐了。

  那么接下来,我们联想到这样的情况:

  我们要把这个justify用在表单中,将文本对齐。

  于是有下面的代码

[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        span{
            width: 70px;
            text-align: justify;
        }
        input{
            width: 100px;
        }
    </style>
</head>
<body>
    <div class="demo">
        <span>昵称:</span><input type="text" style = 'width: 100px'><br><br>
        <span>电子邮箱:</span><input type="email" style = 'width: 100px;'>
    </div>
</body>
</html>

  然而,结果去让我们非常失望:当text-align:justify使用在单行中,是起不到justify的作用的。那么我们该怎么做呢?

这个问题是我在项目中碰到的,由于我发现这个问题不可行,于是各种   各种用。但是发现在safari中微软雅黑不识别 等,于是只能找解决办法。最终在开心网的源代码中找到了解决办法。具体想法是:

  首先既然单行不行,那么就用多行。但是怎么用单行呢?——用after。

  下面是代码:
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        span{
            width: 100px;
            text-align: justify;
            float: left;
        }
        span:after{
            content:'.';
            width: 100%;
            display: inline-block;
            overflow: hidden;
            height: 0;
        }
        input{
            width: 100px;
        }
    </style>
</head>
<body>
    <div class="demo">
        <span>昵称</span>:<input type="text" style = 'width: 100px'><br><br>
        <span>电子邮箱</span>:<input type="email" style = 'width: 100px;'>
    </div>
</body>
</html>

  结果为:



  但是需要将span设置为float: left。:after为inline-block





更多图片 小图 大图
组图打开中,请稍候......

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马