当前位置: 首页 > Web前端 > HTML

boxborder(根据理解和测试记录,可能描述有概念性错误,建议补充)

时间:2023-04-02 11:24:18 HTML

前言:border属性margin是boxes之间的距离,这个前提一定要记住。BFC满足以下条件之一即可触发BFC(IE的触发需要额外增加缩放:1)根元素,即HTML元素溢出的值不可见,该值borderfloat的不是none,display的值为inline-block,table-cell和table-captionposition的值为absolute或fixed,border值重叠。两个相邻的块级元素之间的边距边界值会相互重叠。例如:第一个div的margin-bottom和第二个div的margin-top区域会重叠,只会显示最大值。(说实话,应该没人这么写吧,毕竟直接设置一个box的边界值就可以了,不过这个还是要注意的。)

解决方法:其中一个div添加子元素,并设置overflow的值为不可见(触发BFC的元素可以解决,根据样式要求选择合适的方法即可),然后设置子元素的边界值。<样式>.wrapper{背景:黄色;border:1pxsolid#cccccc}.text{margin-bottom:100px;背景:#00b000}p{背景:黄绿色;margin-top:100px;}测试
测试
边界值无效,第一个子元素的margin-top和最后一个子元素的margin-bottom越界问题(重点)解决方法:通常,我们会选择给li一个边界top或者bottom来划分每一个li之间的间隔,但是你会发现第一个子元素的margin-top和最后一个子元素的margin-bottom不会产生距离ul,并且会出现越界。其实待遇一样。<样式>ul{背景:#00b000;溢出:自动;}ulli{内边距:10px;底部边距:100px;背景:黄色;}ps:当我没有'以前不知道,有时候我给ul加上padding-bottom,然后给最后的li这样去掉margin,虽然这样可以解决,但是不推荐。如果li和ul之间的边界值大于或者小于li之间的距离,可以根据情况重新设置第一个和最后一个边界的具体值。