首页 > 编程知识 正文

css编写的基本原则,css

时间:2023-05-04 05:05:03 阅读:51907 作者:378

文章目录1. bfc理解(块级格式化上下文)2.触发bfc方式3. bfc解决的问题)外缘距离整合、浮动高度检测、右侧自适应框创建4. bfc布局规则特性5 .两列阵列特性

将本人久违的云笔记本搬到博客上,统一维护。

1 .了解bfc (块级格式设置上下文() ) ) ) ) ) ) )。

可视为隔离的独立容器,内部元件的布局不影响外部元件。

可以由css属性触发。

浮动元素生成浮动流,块级元素不可见;

生成文本类属性的元素、文本元素和bfc的元素将显示浮动元素。

2 .诱发BFC的方式定位、浮动、Overflow :隐藏、显示为非none的各种。

(1)定位: Absolute或固定;

)2)浮点:左/右;

)3) Overflow :隐藏; 常见而不是可视的方法

)4) display :在线区块; 流动路径、表蜂窝、表复制、flex、在线flex等。

3. BFC解决的问题:配合外侧距离,检测上浮高度,做右侧自适应箱利用bfc避免margin重复。 例如,如果两个div相邻,margin为100px,则实际上下间隙只有100px。

此时,给不同的外面包一层,添加各自的bfc。

4. bfc布局规则特性(1)在bfc中,箱子从顶部开始依次排列。

)2)属于同一bfc的相邻box的margin合并。解决办法上外壳外侧加div设置overflow:hidden; 此时,下面的箱子不属于bfc。

)3)计算bfc的高度时,计算浮动箱的高度。 (情况:未设置父元素高度,子元素浮动)

此时的bfc的作用:消除要素内部的浮动

只需将父元素设置为BFC框,即可清洁子元素的浮动。 最常见的用法是为父元素设置overflow :隐藏样式。 在IE6中添加zoom:1就可以了。

)4) bfc制作右侧适应的箱子。 左侧的div设定溢出: hidden; 可以解决。

场景1,未设定时:

div1为设定宽度高度的浮动(蓝色),div2为不设定宽度而仅设定高度)宽度自适应),不设定浮动。

此时,文本元素“看到”浮动元素,即受浮动元素的影响。

图:

div2设置溢出:隐藏;效果相当于浮动并可以宽度自适应如图所示:

5 .用BFC先设置右侧,再设置左侧的两层思想。

(1)首先使第一个元素绝对定位,right:0; 或浮动:光;

)设置第二个,margin-right第一个保证足够的位置即可。

6 .块元素的高度未设置或宽度未设置。 (1)父div的高度未设定时,高度由子元素支撑。 伪代码:

. ff{ margin-top:10px; width: 200px; height: 100px; 后台: # 2f e29 e; border : 1px固态# CCC; }.ss{ width: 50px; border : 1px固态# 000; }div class='ff' div class='ss'ss高度由子元素支撑的/div /div图:

)如果未设置子元素的div宽度,则默认值为父元素宽度的100%,伪代码:

. ff{ margin-top:10px; width: 200px; height: 100px; 后台: # 2f e29 e; border : 1px固态# CCC; } .ss{ height: 50px; border : 1px固态# 000; } div class='ff' div class='ss'ss宽度默认值100%/div /div图:

)3)如果子元素设置为浮动,而没有设置父元素的高度,则父元素的高度为0。 向母要素启动BFC(4个条件)来解决这个问题。

eg:子元素浮动,父元素的高度消失,诱发bfc解决问题

. ff { margin-top: 10px; width: 200px; 后台: # 2f e29 e; border : 5px固态# CCC;/*用BFC解决,任何条件*/overflow :隐藏;/*浮点:左; *//*显示:在线块; *//*位置: absolute; */}.ss {浮动: left; height: 50px; border : 1px固态# 000; }div class='ff '! -浮动后的宽度由内容支持,而不是父元素的100%,但不超过父元素的宽度-- div class='ss'ss的宽度默认为100%,是否浮动? 浮动吗? /div div class='ss'ss2宽度的默认100%是否浮动? 如果不使用bfc设置/div /div,则父元素的高度为0,没有背景,无法获得效果。 图:

F12检查:解决:

取4条评论的css之一,设置后效果正常。 图:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。