img标签默认有外边距吗_你知道css的盒模型吗?

CSS盒子模型与怪异盒模型

盒子模型(Box Modle)可以用来对元素进行布局,包括内边距(padding),边框(border),外边距(margin),和实际内容(content)这几个部分。

标准盒模型

标准盒模型中盒子的大小是指:content + border + padding + margin。其中width指的是内容区域content的宽度;height指的是内容区域content的高度。下面用一段代码和图片来让说明一个盒子大小的呈现方式。

.box {
        width: 100px;
        height: 100px;
        padding: 10px;
        margin: 10px;
        border: 10px solid red;
        background-color: #606266;
        /*标准盒模型*/
        box-sizing: content-box;
}
36b9344f521e2def21c97588d4a1decb.png
标准盒模型

chrome里面调试工具样式的最下面可以看到一个盒子呈现出的长宽,内边距(padding),边框(border)和外边距(margin)。鼠标移动到dom上,可以看到盒子实际呈现出的长宽分别为140px,140px。这是因为我们的width为100px,height为100px,padding上下左右均为10px,border上下左右均为10px。所以我们看到的我们盒子的长宽为140px。由于是块级元素,实际盒子会独占一行,这里的140px没有算是margin。标准模式下,最直观的特点是widithheight的值决定了盒子的内容区域(content)的大小。而盒子实际呈现的大小并不一定是你设置的widithheight的值。因为还有padding,border,margin等来影响它。

IE怪异盒模型

怪异盒模型中的width指的是内容、边框、内边距总的宽度(content + border + padding);height指的是内容、边框、内边距总的高度。怪异盒模型下盒子的大小=width(content + border + padding) + margin。下面用一段代码和图片来让说明一个盒子大小的呈现方式。

    .box {
        width: 100px;
        height: 100px;
        padding: 10px;
        margin: 10px;
        border: 10px solid red;
        background-color: #606266;
        /*IE盒模型*/
        box-sizing: border-box;
    }

b106b9eac1ef22aaeb80e0c4a048ecba.png图中可以看到,我们设置的widhtheight为100px,那么盒子实际呈现的大小也为100px(这里是widthheight的值,没算margin)。那么内容区域(可以放文字,div标签的区域)content的大小为width - padding - border = 60

如何切换盒模型

html顶部加上DOCTYPE声明,大多数浏览器就会默认采用标准盒模型。上面的代码也可以看出,通过css的属性box-sizing能改变盒模型。

*{

       /*IE盒模型,order和padding计算入width之内*/
        box-sizing: border-box;
        /*padding计算入width内,不推荐使用,非常老的浏览器才支持*/
        box-sizing: padding-box;
        /*border和padding不计算入width之内*/
        box-sizing: content-box;
 /*继承父元素*/
 box-sizing: inherit;
}

兼容性

7817dc4695ee19b467be9604ae5a7680.png可以看到现代浏览器都支持了该属性。

总结

可以看到,其实上面几种模型,最终盒子的大小是一样的,区别在于盒子的widhtheight的计算。个人在网页布局中,更喜欢使用IE盒模型,因为该模型下,IE盒模型呈现的widht,height就是我们设置的长宽,这样我们就不必为了布局要减去(borderpadding)产生的空间。其实我们也可以发现,用边框(border)绘制三角形,也是利用了盒模型的原理,点击查看。

学习如逆水行舟,不进则退,前端技术飞速发展,如果每天不坚持学习,就会跟不上,我会陪着大家,每天坚持推送博文,跟大家一同进步,希望大家能关注我,第一时间收到最新文章。

公众号前端每日面试:add04b911cf0e2c60f68c267e4d17b9c.png

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

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

相关文章

js html 转换为富文本,如何将富文本得到的html转换为pdf?

问题描述我想将kindtor最后得到的html转换为pdf,有一种思路是将获得的html通过dom-to-image或者html2canvas转换为图片。在转换为pdf,但是我获得到html之后,运用dom-to-image转换或者html都不行,会报错出来。问题出现的环境背景及…

rust雪山矿洞几个入口_梅里雪山内转全记录(雨崩徒步:神湖神瀑冰湖)

头一次徒步完还愿意记录一下,两个原因吧:1)出发前搜雨崩攻略,各大网站都很少有详细且完整的回答,2)朋友圈发图后,好多朋友对雨崩有兴趣求攻略。先把此次行程大概列一下,如果还有兴趣…

微型计算机上的南桥芯片功能,微型计算机及接口技术2012年1月真题试题(04732)...

微型计算机及接口技术2012年1月真题试题及答案解析(04732)微型计算机及接口技术2012年1月真题试题及答案解析(04732),本试卷总分100分。一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的…

空值用前值填充_用Excel进行数据处理

Excel是一款常用的办公软件,它的功能强大,本文我们将学习如何使用Excel 2019进行数据处理。导入数据本文使用的数据来自This Week’s Garbage Data File.xlsx。数据格式如上所示:表示销售日期表示销售人员名称和ID表示销售区域表示总计为了对…

2014年计算机初级应用考试是,2014年国硕士研究生入学统一考试计算机基础试题...

请回答下列问题。(1) 本题中的网络可抽象为数据结构中的哪种逻辑结构?(2) 针对题42表中的内容,设计合理的链式存储结构,以保存题42表中的链路状态信息(LSI)。要求给出链式存储结构的数据类型定义,并画出对应题42表的链式存储结构示意图(示意…

已知三个用不同数制表示的整数_数学一轮复习26,数列的概念及简单表示法,常用方法及具体策略...

【考试要求】1.了解数列的概念和几种简单的表示方法(列表、图象、通项公式);2.了解数列是自变量为正整数的一类特殊函数.【知识梳理】1.数列的定义按照一定顺序排列着的一列数称为数列,数列中的每一个数叫做这个数列的项.2.数列的分类3.数列的表示法数列…

html播放mp4不显示画面,浏览器播放mp4格式视频时只有声音看不到画面的原因及解决方法(精)...

做HTML5网页,要播放视频,视频格式为mp4,结果浏览器只能听到声音,看不到画面。反复测试,多个浏览器均出现此问题。刚开始以为视频的格式不对,我是从MOV转的MP4格式,反复确认嵌入的视频确实是mp4格…

4j 禁止类输出日志_logback 日志详细讲解

Logback介绍Logback是一个开源日志组件,logback被分为3个组件,logback-core,logback-classic和logback-access.Logback是具体的日志框架,它要与slf4j结合起来使用。Slf4j:简单日志门面,不是具体的日志解决方案&#xf…

计算机桌面桌面设置动态视频,电脑壁纸 篇一:电脑设置动态视频桌面图文教程...

电脑壁纸 篇一:电脑设置动态视频桌面图文教程2019-04-01 11:45:213点赞8收藏0评论今天闲来无事,来张大妈也好久了,没什么技术感觉发文太难了,试着来一篇看看能不能过!相信还有大多数值友的电脑桌面都是一张静态的图片壁…

e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS

有停车焦虑的小伙伴一定都想拥有一辆微型车,无论你多晚回家,只要有一小块空挡就能泊车,然后上楼睡觉。所谓快乐,莫过于此。在纯电动微型车领域,宝骏可以说是经验最为丰富的厂家之一。相继推出了E100和E200,…

太极计算机ehr系统,(数据科学学习手札21)sklearn.datasets常用功能详解

作为Python中经典的机器学习模块,sklearn围绕着机器学习提供了很多可直接调用的机器学习算法以及很多经典的数据集,本文就对sklearn中专门用来得到已有或自定义数据集的datasets模块进行详细介绍;datasets中的数据集分为很多种,本…

权限申请_Android 开发工程师必须掌握的动态权限申请,三步轻松搞定!

Android 6.0 / Android M 发布后,手机权限被分为两种,即:Normal Permission / 正常权限 和Dangerous Permission / 危险权限,更好的保护了用户的隐私,极大提升了系统安全性!因此,我们在APP开发过…

html ajax请求c#,c# – 获取通过webclient中的AJAX生成的html

一般方法是这样的:>使用像Fiddler这样的工具,找出浏览器发出的HTTP请求,以便获取您正在寻找的数据.>使用WebClient获取所需的HTTP请求.请查看我对this question的回答,了解有关HTML屏幕抓取的更多信息,以获取更多详细信息以及如何解决可能遇到的各种问题.对于…

python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...

本文实例讲述了Python实现读取SQLServer数据并插入到MongoDB数据库的方法。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-import pyodbcimport osimport csvimport pymongofrom pymongo import ASCENDING,DESCENDINGfrom pymongo import Mongo…

技校计算机英语,技校计算机英语的一体化教学

1计算机英语教学现状尽管中国已经成为世界上最大的计算机生产国,但计算机毕竟诞生在国外,其技术原理,硬件的构造与设置,软件的开发与运用均建立在英语的基础之上,因此计算机专业的学生必须具备一定的英语水平。然而&am…

什么意思中文翻译_os常见意思介绍

os是一个英文的缩写在不同环境状态下表达的意思不一样的,比如在计算机中就是操作系统的意思,在聊天情景的时候就是内心独白的意思,下面来看看详细的os是什么意思介绍吧。os是什么意思一、计算机中的解释OS其实就是Operating System的缩写中文…

如何用计算机算矩阵,【活用工具】教你如何用卡西欧fx82es计算机计算复数 矩阵...

虽然是从别人那里转过来的。。但根据我的经验看下来,原文有点表达不清和小错误。现在我已经改成目前比较准确,易懂和便捷的方法。如果没有特别注明,以下方法都经过本人亲自调试,绝对可行!!希望对大家有用&a…

网页证书添加_二、Exchange2016部署及基础配置(NDS及证书配置)

1、DNS轮询负载说明:使用DNS轮询实现负载均衡,最大的优点就是部署简单,基本上不需要成本,如果一台exchange服务器彻底宕机,http客户端(Outlook)足够智能,可以连接到另一台服务器。但DNS轮询并不是真正对流量…

python升级包命令_用pip升级所有包怎么操作

pip 当前内建命令并不支持升级所有已安装的Python模块。列出当前安装的包:pip list列出可升级的包:pip list --outdate升级一个包:pip install --upgrade requests // mac,linux,unix 在命令前加 sudo -H升级所有可升级的包:pip f…

计算机网络工程应用,全面信息化管理在计算机网络工程的应用

摘要:计算机网络是二十一世纪极为重要的一个发展标志,计算机信息技术措施逐渐在我国社会各个行业中得到应用。现阶段信息技术措施已经演变为我国社会经济发展进程向前推进的过程中需要使用到的极为重要的构成成分。各个行业中的相关企业也在对计算机网络…