如何让一个nav标签里的a无论多少个都能自动平分nav的宽度?
我觉得除了一楼用的渲染成表格外,只能用js来控制
HTML:
<nav class="nav">
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
</nav>
CSS:
<style>
.nav{
width:800px;
height:50px;
}
.nav a{
display:block;
height:50px;
}
</style>
Js:
<script>
var $nav = $(".nav");
var nav_width = $nav.width(); //获取nav的宽度
var a_num = $nav.find("a").length; //获取a标签的数量
$nav.find("a").css("width", nav_width/a_num * 100% );
</script>
CSS3中的flex就是干这个的,如果只考虑现代浏览器的话
HTML
<nav>
<a href="#">a</a>
<a href="#">b</a>
<a href="#">c</a>
</nav>
CSS
nav{display:-webkit-flex;display:flex;}
a{-webkit-flex:1;flex:1;}
a:nth-child(1){background:#999;}
a:nth-child(2){background:#aaa;}
a:nth-child(3){background:#ccc;}
关于flex的更多 建议阅读这个css参考手册 http://css.doyoe.com/properties/flex/index.htm
3 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答1.7k 阅读
2 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
你的意思是a标签能多能少吧
上面的方法是行的但是这样的话就变成了table和td了,感觉怪怪的