普通盒模型和怪异盒模型

一、什么是盒模型?

1.根据盒子模型的概念,每个在页面上的元素都是一个拥有宽,高,内边距,边框和外边距的长方形盒子。
2.盒模型分为两种:分别是W3C标准盒模型(普通盒模型)和IE盒模型(怪异盒模型)

在这里插入图片描述

二、普通盒模型和怪异盒模型的区别:

1、盒子模型包括margin、padding、content、border,而W3C标准盒子模型的元素宽度width=content的宽度
标准盒模型(W3C盒子模型),设置的width或height是对 实际内容(content)的width或height进行设置,内容周围的border和padding另外设置,即盒子模型的width(height)=设置的content的宽高+padding+border+margin
注:除内容content外,其他为上下左右
2、IE怪异盒子模型的元素宽度width=content+padding+border
怪异盒模型(IE盒子模型),设置的width或height是对 实际内容(content)+内边距(padding)+边框(border)之和的width和height进行设置的,其盒模型的width(height)=设置的width(height)+外边距margin

在这里插入图片描述
在这里插入图片描述
三、解决两者的兼容问题

可尝试对父元素使用内边距,对子元素使用外边距

四、box-sizing的应用

  • box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。(个人认为可以理解为指定盒模型的类型,即上述两种类型)

  • box-sizing值为content-box时:宽度和高度分别应用到元素的内容框,在宽度和高度之外绘制元素的内边距和边框。(即
    标准盒模型)
    box-sizing值为border-box时:为元素设定的宽度和高度决定了元素的边框盒,就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制,通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。(即
    怪异盒模型) box-sizing值为inherit时:规定应从父元素继承 box-sizing 属性的值。

五、JS如何设置、获取盒模型对应的宽和高:

  1. 方式一:通过DOM节点的 style 样式获取
         element.style.width/height;

缺点:通过这种方式,只能获取行内样式,不能获取内嵌的样式和外链的样式

  1. 方式二:(IE独有的)
         element.currentStyle.width/height;

获取到的即时运行完之后的宽高(三种css样式都可以获取)。但这种方式只有IE独有。

  1. 方式三(通用型)
         window.getComputedStyle(element).width/height;

方式三和方式二一样。只不过,方式三能兼容 Chrome、火狐。是通用型方式

BFC

BFC的基本概念:

BFC就是“块级格式化上下文”的意思,也有译作“块级格式化范围”。它是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。通俗的讲,就是一个特殊的块,内部有自己的布局方式,不受外边元素的影响。

BFC原理:

1、BFC内部的盒子,会在垂直方向,一个接一个地放置。垂直方向上也会发生边距重叠。
2、BFC就是页面上的一个独立容器,容器里面的子元素不会影响到外面的元素,外边的也不会影响里边的。
3、BFC的区域不会与float box重叠。
4、计算BFC的高度时,浮动元素也被计算在内。
七、BFC如何产生:
在box属性值为这些的情况下,都会让所属的box产生BFC。**

  • overflow: auto/ hidden;
  • position: absolute/ fixed;
  • float: left/ right;
  • display: inline-block/ table-cell/ table-caption/ flex/ inline-flex

八、BFC的使用场景

  1. 可以用来自适应布局
<!-- BFC不与float重叠 --><section id="layout"><style media="screen">#layout{background: red;}#layout .left{float: left;width: 100px;height: 100px;background: #664664;}#layout .right{height: 110px;background: #ccc;overflow: auto;}</style><div class="left"></div><div class="right"></div><!-- 利用BFC的这一个原理就可以实现两栏布局,左边定宽,右边自适应。不会相互影响,哪怕高度不相等。 --></section>
  1. 可以清除浮动:
<!-- BFC子元素即使是float也会参与计算 --><section id="float"><style media="screen">#float{background: #434343;overflow: auto;}#float .float{float: left;font-size: 30px;}</style><div class="float">我是浮动元素</div></section>
  1. 解决垂直边距重叠:
<section id="margin"><style>#margin{background: pink;overflow: hidden;}#margin>p{margin: 5px auto 25px;background: red;}#margin>div>p {margin: 5px auto 20px;background: red;}</style><p>1</p><div style="overflow:hidden"><p>2</p></div><p>3</p><!-- 这样就会出现第一个p标签的margin-bottom不会和第二个p标签的margin-top重叠,这也是BFC元素的另一个原则,不会影响到外边的box,是一个独立的区域。 -->
</section>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48601.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023 年 4 月脚本神器合集来了

苏生不惑第419 篇原创文章&#xff0c;将本公众号设为星标&#xff0c;第一时间看最新文章。 之前分享过的很多实用浏览器扩展和油猴脚本我都同步到博客了https://sushengbuhuo.github.io/blog &#xff0c;2023 年 4 月的脚本神器合集又来了。 沉浸式翻译 一个沉浸式网页双语翻…

Java调用Midjourney进行AI画图原生版抓包实现支持中文

用途介绍 Midjourney是一个目前优秀的AI画图工具&#xff0c;不挂梯无法直接访问 本代码主要用于搭建镜像站使用 适合人群 本代码不适合新手&#xff0c;建议使用过okhttp、且具有二开能力的同学使用~ 实现原理 通过调用发送信息接口发送请求&#xff0c;通过轮询房间消息…

解决Edge中插件下载失败的问题

解决Edge中插件下载失败的问题 这里写目录标题 解决Edge中插件下载失败的问题以下我给出两种解决办法;1. 修改文件内容&#xff08;源头上&#xff09;1.1首先我们可以打开如下的文件夹&#xff1a;1.2 之后将如下内容复制粘贴到该文件的最后面&#xff1a;1.3 如果是你的登录出…

vue即时通讯,一个很好用的插件

直接上链接&#xff1a;https://github.com/leancloud/js-realtime-sdk/tree/master vue-发起websocket协议 https://github.com/nathantsoi/vue-native-websocket

vue3 + TS 自定义插件-全局message提示插件示例

本文记录 Vue3 ts 实现自定义一个全局插件&#xff0c;用于进行 message 消息提示&#xff0c;所谓全局插件即挂载到 vue 实例上&#xff0c;在 App 的任一子组件中均可通过 app 的实例调用该方法。消息提示功能只是示例主要是记录 Vue3 自定义插件功能的写法。 文件结构&…

用chatGPT高效学习-Vue的组件通信方式有哪些?

Vue 的组件通信方式有以下几种&#xff1a; 父子组件通信&#xff1a;父组件通过 props 向子组件传递数据&#xff0c;子组件通过 $emit 触发事件向父组件传递数据。 子父组件通信&#xff1a;子组件通过 $emit 触发事件向父组件传递数据&#xff0c;父组件通过 v-on 监听子组件…

低代码开发,是程序员的“福”还是“祸”?

编者按&#xff1a;低代码是IT界的新风口&#xff0c;它真的会抢占程序员的生存空间吗&#xff1f;本文带你来扒一扒&#xff01; 风口上的低代码 疫情肆虐下&#xff0c;低代码之火不仅没有熄灭&#xff0c;反而更加如火如荼&#xff0c;相对于传统开发&#xff0c;它的确为人…

中学生应该学会使用计算机作文,网络的利与弊中学生作文

网络的利与弊中学生作文 导语&#xff1a;生理上坏处是辐射&#xff0c;心理上的分为网上不健康内容和游戏&#xff0c;不健康内容你自己想得出来吧。以下是小编为大家收集的网络的利与弊中学生作文&#xff0c;欢迎阅读&#xff01; 网络的利与弊中学生作文(一) 所谓“一日之所…

大数据,是个没有感情的杀手?一文解析大数据时代的利和弊

01 瘆人的大数据 上个月小柒邀请闺蜜们来家喝茶聊天,大家讨论去海边的旅游计划。 聊着聊着,小爱同学突然插话:“我也要去”,吓得我赶紧拔掉了小爱的插头。 姐妹们各回各家,小柒躺下刷手机,今日头条给我推送了刚才讨论的海边民宿,顿时睡意全无…… 周末去上海学习了两…

爱思服务器能不能更新苹果手机系统,苹果手机系统升级带来的利和弊,你知道多少?...

很多手机在使用一段时间后需要系统更新升级&#xff0c;如果你觉得手机老版本出现了延迟卡顿&#xff0c;需要升级新系统才能解决这个问题&#xff0c;相信大部分人都会选择更新升级的。要是原先版本用的很顺手&#xff0c;很流畅的&#xff0c;不想升级更新&#xff0c;然后手…

android6.01升级弊端,手机系统升级带来的利和弊,你知道多少?

原标题&#xff1a;手机系统升级带来的利和弊&#xff0c;你知道多少&#xff1f; 每过一段时间&#xff0c;手机上就会有系统更新提醒&#xff0c;很多朋友会第一时间更新&#xff0c;而有朋友也许会和小编一样&#xff0c;认为“这个版本我用着挺好呀&#xff0c;为什么要更新…

Android开发——项目实例(二)迷你背单词软件(第二版)单词录入、背诵、检测、单词库

软件效果图 源码及apk&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1UkswUGQmmG6dD2fIp0VtBA 提取码&#xff1a;dbxv 如有想修改但不会的&#xff0c;欢迎私信&#xff0c;有时间的话帮你改。 要是觉得还可以&#xff0c;点个再走吧&#xff01;求求了~

android版本单词熟记APP和单词APP

单词熟记APP 帮助大家解决日常生活中英文问题&#xff0c;在APP上&#xff0c;您可以根据 中文查询 英文单词&#xff0c;也可以根据英文单词查询中文的含义&#xff0c;同时还有每日一练&#xff0c;可以进行练习单词&#xff0c;你还可以进行 类似百度的语音跟读功能。同时&a…

天天背单词--的设计与实现(一)

博客第一天,就用这个背单词软件探探路,经过二十天左右的努力&#xff0c;终于一个还算bug少一点的版本完成了&#xff0c;现在这款应用已在百度91安卓市场上架,毕竟开发者只有我,苦逼到图片都要现学ps自己做,所以维护也并不会太快&#xff0c;至于下载量能有几个人就已经很谢谢…

看图听读拼单词游戏

1&#xff0c;视觉&#xff1a;沉浸式单词应用场景图&#xff1b; 2&#xff0c;例句&#xff1a;有针对性的场景图单词例句&#xff1b; 3&#xff0c;发音&#xff1a;标准英语发音跟读&#xff1b; 4&#xff0c;拼写游戏&#xff1a;游戏是孩子的天性&#xff0c;在游戏中记…

微信背单词小程序——小鸡单词

2018-11-02 更新 UI美化没了 2018-10-30 更新 项目主页背单词微信小程序–小鸡单词 该项目已上架微信小程序市场&#xff0c;可以通过微信搜索“小鸡单词”进行使用 项目介绍 1.根据用户记忆遗忘曲线安排每天的学习计划 2.每天学习的细节比普通背单词程序更详细&#xff0c;用…

在终端里背完你的单词表

打工后没了读书时的激情&#xff0c;总感觉缺了点啥。最早为了寻找慰藉&#xff0c;开始折腾黑苹果&#xff0c;背一些单词啥的&#xff0c;但总是三天打鱼两天晒网&#xff0c;觉得没啥用。也是在百无聊赖的某一天&#xff0c;我看着macOS白底黑字的终端&#xff0c;想&#x…

美国邮政总局发行新邮票庆祝虎年;太仓阿尔卑斯雪世界项目封顶;2022年雅高大中华区将有6家酒店开业 | 美通社头条...

要闻摘要&#xff1a;美国邮政总局发行新邮票庆祝虎年。三亚启动新春假日主题文化旅游季系列活动。太仓阿尔卑斯雪世界项目封顶。南昌万怡酒店正式开业。雅高2022年推出一系列多元化新酒店。亚马逊签约第五届进博会。西门子医疗与全景医学签署战略合作协议。黑芝麻智能与MAXIEY…

全国AI特色中小学榜单发布:北京46家单位入围,上海3家

问耕 发自 凹非寺量子位 出品 | 公众号 QbitAI 去年7月&#xff0c;国务院印发《新一代人工智能发展规划》。 这个规划中要求广泛开展人工智能科普活动&#xff0c;“在中小学阶段设置人工智能相关课程&#xff0c;逐步推广编程教育。” 而中青在线最近在报道中说&#xff1a;奥…