最近上公开课,讲到css的两端对齐,准备写一下心得记录一下。
css两端对齐的两种方式:(原文参见白树大神)[url]http://www.cnblogs.com/PeunZhang/p/3289493.html#text-justify-demo[/url]
[b]方法一:使用text-align:justify[/b]
先看代码
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>两端对齐</title>
</head>
<body>
<div class="demo">
<a class="link" href="#">1</a>
<a class="link" href="#">2</a>
<a class="link" href="#">3</a>
<a class="link" href="#">4</a>
<a class="link" href="#">5</a>
<a class="link" href="#">6</a>
<a class="link" href="#">7</a>
</div>
</body>
css
<style type="text/css">
*{margin:0;padding:0;}
.demo{
text-align:justify;
text-align-last:justify;
line-height:0;
height:44px;
}
}
.demo:after{
display:inline-block;
overflow:hidden;
width:100%;
height:0;
content:'';
vertical-align:top;
}
.demo a{
width:5%;
display:inline-block;
height:44px;
line-height:44px;
text-align:center;
border:1px solid #428cc8;
color:#666;
font-size:16px;
margin-bottom:5px;
border-radius:3px;
background-color:#fefefe;
background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fefefe),color-stop(1,#eee));
color:#666;
text-decoration:none;
}
</style>
text-align:justify 属性是全兼容的,使用它实现两端对齐,需要注意在模块之间添加[空格/换行符/制表符]才能起作用,同样,实现文本对齐也是需要在字与字之间添加[空格/换行符/制表符]才能起作用。
然而,尝试之后发现,设置text-align:justify后并没有实现两端对齐的效果。百度之后发现,text-align非常之傲娇,因为它[b]一行文本不进行处理,还有就是强制换行的也不处理。不会处理被打断的行和最后一行。[/b]
那么,1.使用text-align-last,然而这个只有IE支持。(火狐为-moz-text-align-last)
2.使用:after选择器,生成空内容块级元素宽度为100%的一行。于是便有了上面的代码。[align=center][/align]
[b]方法二:使用justify-content:space-between[/b]
设置为盒模型,设置justify-content为space-between
.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;
}
今天的文章css两端对齐的思考分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27574.html