欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

纯CSS如何实现子元素自适应宽度并居中_html/css_WEB-ITnose

程序员文章站 2022-03-16 18:29:22
...
如上图所示,红色部分DIV宽度是100%,蓝色的是子元素,子元素有border-bottom,且文字右边有一个双箭头。

现要求如下:
1、纯CSS实现,不使用JS和table。
2、文字因为是用户输入的,所以每一行的文字宽度都不是固定的,但是文字只考虑一行的情况,不考虑两行,可以用white-space:nowrap;禁止换行。
3、每个子元素右边的双箭头必须是对齐的,右边双箭头与最长那行文字的距离是10px固定的,其它行双箭头与该行双箭头对齐。
4、因为这个是手机端的网页,所以可以考虑用CSS3、HTML5,只要主流的手机浏览器支持即可

不知道上面的要求,纯CSS有没有办法实现,具体的思路是什么,HTML可以随意写,只要能实现像图片中这样显示就可以。


回复讨论(解决方案)

另外右边双箭头与最长那行文字的距离是10px固定的,其它行双箭头与该双箭头对齐



*{margin:0;padding:0;outline:none;}body{font:menu;font-size:0.24rem;}a{text-decoration:none;color:#333;}a:hover{text-decoration:underline;color:#d00;}li{list-style:none;}img{border:none;vertical-align:top;}@font-face {  font-family: 'iconfont';  src: url('//at.alicdn.com/t/font_1460087185_4783318.eot'); /* IE9*/  src: url('//at.alicdn.com/t/font_1460087185_4783318.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */  url('//at.alicdn.com/t/font_1460087185_4783318.woff') format('woff'), /* chrome、firefox */  url('//at.alicdn.com/t/font_1460087185_4783318.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/  url('//at.alicdn.com/t/font_1460087185_4783318.svg#iconfont') format('svg'); /* iOS 4.1- */}.iprocat{background:url(../images/iprocat-bg.jpg);text-align:center;overflow:hidden;}.iprocat ul{display:inline-block;text-align:left;font-size:.24rem;line-height:.4rem;padding-bottom:.24rem;}.iprocat li{border-bottom:1px solid #ddd;position:relative;}.iprocat li:before,.iprocat li:after{content:'';border-bottom:1px solid #ddd;width:100%;position:absolute;bottom:-1px;}.iprocat li:before{right:100%;}.iprocat li:after{left:100%;}.iprocat li a{color:#666;display:block;}.iprocat li a:before{content:'\e604';font-family:'iconfont';float:right;color:#ddd;margin-left:.1rem;}



视觉上实现了,但是border-bottom是使用:before和:after拼合起来实现的,不知道有没有更好的办法