width=100%;height=100%如何计算尺寸

<ul class="list-unstyled">
    <li>
        <a href="#">
            <img src="fp_pic_1600x700.jpg" style="width:100%;height:100%;display:block;">
        </a> 
    </li>
</ul>

请问下各位师傅,我上面代码img标签的width和height都为100%,那他们是根据哪一个元素那计算的? 是父元素a,是祖元素li,还是祖祖辈元素ul???

阅读 7.6k
5 个回答

相对于父级具有块级样式(display:block)或者行内块级样式(diplay:inline-block)的元素

在问题中的代码中,img要给自己设置宽度,会往父级寻找一个满足条件的元素,首先找到了a,但是a默认是行内元素,然后继续往上中,找到了块级元素li,止。

如果给a转化为inline-block或者block元素,那么img将会根据a来设置宽高。这里写了一个简单的DEMO,大家可以感受感受:
http://jsbin.com/diwoqa/1/edit

*百分比永远是相对于父元素**

是父元素li。
然后li高宽都不确定的话 那li的宽高会受ul得宽高影响,以此类推

按照li来计算,如果li没有给出高宽,你的图片会正常显示,但会受到ul li 这些表在浏览器中默认样式的影响。如果给定了,那是多大就是多大

可以在调试工具中的Element面板中看下,那样比较好理解。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题