> 웹 프론트엔드 > HTML 튜토리얼 > 纯CSS如何实现子元素自适应宽度并居中_html/css_WEB-ITnose

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

WBOY
풀어 주다: 2016-06-21 08:51:56
원래의
1581명이 탐색했습니다.



如上图所示,红色部分DIV宽度是100%,蓝色的是子元素,子元素有border-bottom,且文字右边有一个双箭头。

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

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


回复讨论(解决方案)

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

<div class="iprocat">	<ul>		<li><a href="/index.php?catid=8">American Axle</a></li>		<li><a href="/index.php?catid=9">Germanic Axle</a></li>		<li><a href="/index.php?catid=10">Suspension</a></li>		<li><a href="/index.php?catid=11">Bogie</a></li>		<li><a href="/index.php?catid=12">Brake Drum</a></li>		<li><a href="/index.php?catid=13">Axle</a></li>		<li><a href="/index.php?catid=14">Brake Disc</a></li>		<li><a href="/index.php?catid=15">Brake Shoe</a></li>		<li><a href="/index.php?catid=16">Wheel Hub</a></li>		<li><a href="/index.php?catid=17">King Pin Series</a></li>		<li><a href="/index.php?catid=18">Fifth Wheel Series</a></li>	</ul></div>
로그인 후 복사


*{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拼合起来实现的,不知道有没有更好的办法

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿