11、前端开发:CSS知识总结——盒子模型(Box Model)(2)

简介: 11、前端开发:CSS知识总结——盒子模型(Box Model)(2)

1. 水平布局


子元素在其父元素中水平方向的位置由以下几个属性共同决定:

1.gif


水平方向的七个值相加必须等于其父元素内容区的宽度;如果不等于,那么浏览器就会自动调整七个值中的某个值,让其成立,这就叫过度约束 。


如何调整:


1、七个值中如果没有auto,浏览器默认调整margin-right。


2、七个值中如果有auto,浏览器会调整auto;可设置auto有:margin-left,width,margin-right


       (1)1个auto,谁是调谁;


       (2)2个auto,有width调width,无width平分


       总结   width>margin


       例  margin:0 auto;居中显示

2、overflow属性

默认情况下,父元素的高度是被子元素撑开的,若父元素设置了,设置多少是多少。


子元素在父元素的内容区中排列的


如果子元素的大小超过了父元素,则子元素会从父元素中溢出,这个时候就要用overflow属性了


使用overflow属性设置父元素如何处理溢出?


       可选值:


       visble  默认值  子元素会从从父元素中溢出


       hidden  溢出内容被裁剪不会显示


       scroll  生成两个滚动条,通过其查看完整内容


       auto  根据需要生成滚动条


3、CSS垂直外边距重叠

(1)兄弟元素


如果都是正值,谁大听谁;


如果一正一负,两者相加之和;


如果都是负值,谁小听谁。


(2)父子元素


垂直外边距重叠是发生在处于文档流的父子元素;当父元素和子元素的外边距相邻时,


如果设置子元素外边距,就会传递到父元素,从而导致页面布局混乱


<html>
    <head>
        <meta charset="utf-8" />
        <style type="text/css">
            .block1{
                width: 200px;
                height: 200px;
                background-color: #bfa;
            }
            .block2{
                width: 100px;
                height: 100px;
                background-color: skyblue;
                margin-top: 100px;
            }
        </style>
    </head>
    <body>
        <div class="block1">
            <div class="block2"></div>
        </div>
    </body>
</html>


2.png

解决方案


1.使子元素开启BFC属性:overflow:非visible的值


2.隔离父子元素的外边距,用边框


    <body>
        <div class="block1">
            <table></table>
            <div class="block2"></div>
        </div>
    </body>

这样的方法并不是最完美的,通过CSS的伪元素,可以不用在html中添加多余的结构


block1:before{
    display: table;
    content: "";
}


相关文章
|
2月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
2月前
|
前端开发 开发者
css两种盒子模型
在CSS中,有两种盒子模型:标准盒子模型和IE盒子模型(怪异盒子模型)。标准盒子模型中,`width`和`height`仅指内容区的尺寸,总宽度和高度还包括内边距、边框和外边距。IE盒子模型中,`width`和`height`包括内容区、内边距和边框,总宽度和高度仅加外边距。通过`box-sizing`属性可以切换这两种模型,`box-sizing: content-box;`表示标准盒子模型,`box-sizing: border-box;`表示IE盒子模型。
|
2月前
|
前端开发 容器
给 CSS 盒子模型添加边框时,需要注意什么?
在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。
|
27天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
35 6
|
1月前
|
前端开发
CSS 盒子模型
CSS 盒子模型
25 4
|
1月前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
32 4
|
2月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
251 1
|
2月前
|
前端开发
彻底搞懂css盒子模型
【10月更文挑战第1天】
67 9
|
2月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
2月前
|
前端开发 JavaScript 容器
前端之CSS基础知识
前端之CSS基础知识
18 0