text-align:justify的使用
这样的例子,我们希望昵称两个字能和下面的字对齐
我们要把这个justify用在表单中,将文本对齐。
于是有下面的代码
<!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。
下面是代码:
<!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