CSS两端对齐怎么达成
发布时间:2021-12-16 14:53:42 所属栏目:安全 来源:互联网
导读:这篇文章主要讲解了CSS两端对齐怎么实现,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习CSS两端对齐怎么实现吧! flex 弹性盒模型flex作为强大的弹性布局方式,可以hold住大部分的布局效果,当然也包括两端
这篇文章主要讲解了“CSS两端对齐怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS两端对齐怎么实现”吧! flex 弹性盒模型flex作为强大的弹性布局方式,可以hold住大部分的布局效果,当然也包括两端对齐。可以使用主轴对齐justify-content的两端对齐属性space-between justify-content: space-between; 如果要考虑flex三个版本的兼容,则使用如下代码 [注意]IE9-浏览器不支持 .justify-content_flex-justify{ -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }<style>body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;}.list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;}.in{background-color: lightblue;padding: 0 10px;}.display_flex{display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;display: flex;}.display_flex > *{display: block;}.justify-content_flex-justify{-webkit-box-pack: justify;-ms-flex-pack: justify;-webkit-justify-content: space-between;justify-content: space-between;}</style><ul class="list display_flex justify-content_flex-justify"> <li class="in">内容</li> <li class="in">样式</li> <li class="in">行为</li></ul> text-align 水平对齐text-align本身就有一个属性值是两端对齐justify。但是,要注意的是,使用它实现两端对齐,需要注意在元素之间添加空白符(包括空格、换行符、制表符)才起作用。由于HTML结构中,<li>元素之间存在换行,所以不需要额外添加空白符 但仅仅是这样,元素也无法实现两端对齐效果 元素必须占满一行才行,如下所示。占满一行的元素可以实现两端对齐,没有占满的则无法实现 【text-align-last】 显然,上面的情况都不符合要求,这时就需要使用属性text-align-last,该属性用来规定如何对齐文本的最后一行 于是把text-align属性替换成text-align-last。但是,要兼容IE浏览器需要同时设置text-align:justify [注意]safari浏览器、IOS、androis4.4-浏览器不支持 <style>body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;}.list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: justify;text-align-last: justify;}.in{background-color: lightblue;padding: 0 10px;display:inline-block;}</style><ul class="list "> <li class="in">内容</li> <li class="in">样式</li> <li class="in">行为</li> </ul> 【after伪元素】 使用text-align-last可以实现两端对齐的效果,但是兼容性并不好。通过给父元素设置伪元素:after,并为伪元素设置inline-block,并设置宽度100%,相当于伪元素:after被挤到第二行。从而使原来的元素占满了第一行,触发了两端对齐的效果 这里要注意的是,因为空白会被解析为换行,所以可以通过设置父元素的高度height,并溢出隐藏,来解决多余的换行问题 <style>body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;}.list{width: 200px;height: 30px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: justify;}.in{background-color: lightblue;padding: 0 10px;display:inline-block;}.list:after{content:"";width:100%;display:inline-block;}</style><ul class="list "> <li class="in">内容</li> <li class="in">样式</li> <li class="in">行为</li> </ul> column 使用多列布局column也可以实现类似的效果。column-count定义了元素的列数,例子中有3个子元素,所以定义为3列。特别要注意的是,这时需要把子元素设置为block元素才会生效 [注意]IE9-浏览器不支持 <style>body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;}.list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: center;}.col3{-webkit-column-count:3;-moz-column-count:3;column-count:3;}.in{background-color: lightblue;padding: 0 10px;display:block;}</style><ul class="list col3"> <li class="in">内容</li> <li class="in">样式</li> <li class="in">行为</li> </ul> 如果子元素之间需要使用竖线,且竖线高度与子元素高度相同时,使用column-rule可方便的实现需求 <style>body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;}.list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: center;}.col3{-webkit-column-count:3;-moz-column-count:3;column-count:3;}.col-rule{-webkit-column-rule: 1px solid black;-moz-column-rule: 1px solid black;column-rule: 1px solid black;}.in{background-color: lightblue;padding: 0 10px;display:block;}</style><ul class="list col3 col-rule"> <li class="in">内容</li> <li class="in">样式</li> <li class="in">行为</li> </ul> 感谢各位的阅读,以上就是“CSS两端对齐怎么实现”的内容了,经过本文的学习后,相信大家对CSS两端对齐怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注! (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |