CSS框架里的偏移问题难道让你头大吗?可能就是对盒子模型有点儿摸不着头脑。或者说,这事儿跟浮动还有点儿关系?别捉急,这篇文章就是来帮你搞定它的,给你介绍几种实用招数和代码实操!
盒子模型问题:标准盒子模型 vs 怪异盒子模型
框模型可是有规律和特例的,在设计 CSS 布局时大家得弄明白。规律性的框架要把内容和其他添加的东西(比如内外边距啥的)都考虑进去才能确定宽度;而特例就只是看内容和边缘部分。难怪 CSS 布局会有些复杂!
浮动问题:脱离普通流导致的偏移
用CSS浮动那玩意儿可得小心点儿,要不然你网页可能会变得乱七八糟。就像乱掉了一样,本来该有规律排序的,结果全乱了,还出现位移之类的问题。
清除浮动问题:解决一问题带来另一问题
标题:看见浮动累赘咋办?哈喽,大家都懂,得清掉它们。不过嘞,记得方法不对或是父元素没给设置高度的话,结果可能会出乎我们的意料喔!
解决方案及代码示例
盒子模型问题解决方案:
1.将所有元素都采用标准盒子模型:可以通过以下代码实现:
css *{ box-sizing: border-box;* { box-sizing: border-box; }}
搞定这些之后,所有的元素都会按照正规的盒子模型来呈现,也就是浏览器默认那个会产生偏差的盒子模型的问题被彻底解决!
.element { box-sizing: border-box; }2.针对某个具体元素采用标准盒子模型:可以使用以下代码:
.element {
设好了以后,就是有人需要适应咱们平时的盒子模型,别的就照旧不许变咯。
浮动问题解决方案:
给要浮动的东西后面弄个空div,记得加上clear属性。
“`html
加个空格就能避免后面的字堆一起。只需要在悬浮元素后敲个空格,然后再让它消失就好啦~
.float-element { float: left; width: 50%; } .clear { clear: both; }2.使用伪元素::after清除浮动:
.clearfix::after {
content:””;
display: block;
clear: both;
然后在需要清除浮动的父元素上添加clearfix类名即可。
清除浮动问题解决方案:
1.给浮动元素父元素添加overflow属性:
.parent {
.parent { overflow: hidden; } .float-element { float: left; width: 50%; }overflow: hidden;
这么做就行,让这些飘来飘去的小玩意儿安静下来,别瞎窜,布局也不会搞混乱!
2.给浮动元素父元素添加clearfix类名:
就在”老爸宝贝”那部分加上清除浮动的`clearfix`类,再用:`after`伪类把漂移的问题解决了,以免布局跑偏!
结语
搞定那个CSS偏移的事,其实很简单,看别人怎么教你教程和实例,照着试试就成!不过真的实战起来,还得多琢磨下,毕竟网页要美观还得配合得来。说到CSS中的盒子模型跟浮动原理,搞明白这点才算真正涉及到前端布局的大门道。努力学,大胆试,摆平各种难题绰绰有余。
.clearfix::after { content: ""; display: table; clear: both; }。
评论0