页面中标题和列表的垂直对齐

有如下代码

<h2>headline</h2>
<ul id="list">
  <li>list1
    <ul>
      <li>item1</li>
      <li>item2</li>
    </ul>
  </li>
  <li>list2
    <ul>
      <li>item1</li>
      <li>item2</li>
    </ul>
  </li>
</ul><!--/#list-->
 显示效果如下

 

现在要使最外层的ul的子元素li浮动,使之水平排列。添加如下的内部样式表

<style>
#list > li {
  float: left;
  list-style: none;
  margin: 10px;
}
</style>

显示效果如下

可以看到,标题和最外层的ul并不是垂直对齐的,如何调整呢?可以考虑以h2的左边界为标准,调整ul的样式设置。在样式表中添加如下样式:

#list {
  margin: 0;
  padding: 0;
}
#list > li:first-child {
  margin-left: 0;
}

显示效果如下

如果要以ul的左边界为标准,来调整h2的左边界,又该如何呢?

以下是内部样式表

<style>
#list > li {
  float: left;
  list-style: none;
  margin: 10px;
}
</style>

以下是脚本:

<script>
$(document).ready(function() {
    //获取最外层ul的margin-left和padding-left值,再加上在前面样式表中设置的li的margin-left
    var ml = parseInt($("#list").css("marginLeft")) + parseInt($("#list").css("paddingLeft")) + 10;
    $("h2").css("marginLeft", ml+"px");
});
</script>

显示效果如下

严格说起来,h2对准的是最外层ul的第一个子元素li。

上面示例中采用了jQuery,版本为1.1.3a。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值