不学好css模型的怎么入山门?师傅与徒弟的真实独白

目录

前言

开篇

定义

ie盒

标准盒

真实占有宽度

结局


前言

很久很久以前,在一个小山庄里面住着一位少年。这位少年出生之时天有异向,七星连珠,乃神人也。三岁那年他跟着师傅上山学艺,面临这人生的第一道关卡。这位少年我们不妨叫其路人乙,他的师傅我们叫做路人甲。

路人甲:小徒弟,什么是CSS盒模型 谈谈你对他的认知和理解,三日之内给与回复

路人乙:师傅,徒儿告退,三日之后再来汇报

开篇

此时的路人甲年龄偏小,当时也没有什么笔记本电脑啥的。他来到了沙滩,思考着,css盒模型到底是什么呢,陷入了沉思

就在这时有一位仙人来此,我们叫他路人丙。路人丙想,要不敲他三下,晚上三更来找我,只不过这个小屁孩怕是领悟不了。随即在沙滩上找出了一根木棍,在沙滩上写下几行文字。

路人丙:小屁孩,看我操作。

路人乙:仙人,你为啥不是变的,还是找的木棍。

路人丙:这不是重点。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 100px;height: 100px;border: 10px solid red;background-color: pink;margin: 10px;padding: 10px;}</style>
</head><body><div>我是路人乙 我比较帅气</div>
</body></html>

路人丙:看懂了吗,谈谈你的理解

路人乙:

定义
在 CSS 盒子模型 规定了元素处理元素的几种方式:1width和height:内容的宽度、高度(不是盒子的宽度、高度)。
2padding:内边距。
3border:边框。
4margin:外边距。

路人丙心想,这小屁孩果然是一名奇才,容我好好点拨一番,以后好在社会上真正立足。

说这时,

路人丙:你知道在IE盒子和标准盒的区别吗

路人乙:我不知道 可否告知一下

说着打开

标准盒

路人丙:标准盒包括margin border padding content部分 content部分不包括padding,border内容

ie盒包括margin border padding content部分 content部分包括padding,border内容

路人乙

CSS盒模型和IE盒模型的区别:在 标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。

 路人丙:既然你对盒子有了新的体会和理解,我们来看看真实占用宽高

.box1{width: 100px;height: 100px;padding: 100px;border: 1px solid red;}
.box2{width: 250px;height: 250px;padding: 25px;border: 1px solid red;}

路人乙:

真实占有宽度 = 左border + 左padding + width + 右padding + 右border
如果想保持一个盒子的真实占有宽度不变,那么加width的时候就要减padding。加padding的时候就要减width。因为盒子变胖了是灾难性的,这会把别的盒子挤下去。

路人丙:

切换盒模型


box-sizing: context-box; 这是W3C盒模型,width = content
box-sizing: border-box;  这是IE盒模型, width = border + padding + content

现在你对css盒子有了更深的理解了,可以回去找你的师傅了 

说着就又消失在茫茫的大海里。

结局

说着路人乙兴冲冲的到达了山门,找到了师傅。告知他所遇到的一切

师傅很满意,将小徒弟收入了山门。

在山门里小徒弟有开始学习了margin,border,padding,width,height的使用,进一步拓展了自己

一个沉迷于故事的讲述者,本故事纯属虚构,欢迎交流。后续有想法会继续更新修改,

本问题创作源于面经。

欢迎一起学习交流 让路人乙可以学到更多的知识。

 

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

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

相关文章

看完这篇还不知道css固定和自适应可以小和尚要摆地摊了

目录 前言 开篇 左右侧采用浮动 中间采用margin-left 和 margin-right 方法。 中篇 利用绝对定位中间同样采用margin-left margin-right方法 续篇 负的margin 终篇 三列布局中间固定&#xff0c;其他两列自适应 前言 接上一篇的小徒弟继续说吧 上一篇小徒弟进入山门…

classpass 配置mysql_jmeter压测学习18-JDBC配置连接mysql数据库

前言使用jmeter压测接口的时候&#xff0c;有时候需要批量造数据&#xff0c;需使用jmeter连数据库造对应的测试数据。或者测试结束后&#xff0c;对测试的数据还原&#xff0c;删掉一些垃圾数据&#xff0c;都会用到连接数据库执行sql的操作。JDBC 连接配置添加配置元件-JDBC …

为了梦想开始历练之清除浮动篇

目录 前言 开篇 中篇 原因 解决方式 1额外标签得方法 2触发BFC overflow 3伪元素 4双伪元素 结尾 前言 师傅&#xff08;路人甲&#xff09;小徒弟&#xff08;路人乙&#xff09;,自从路人乙昨晚没有被叫去摆地摊之后。早上一起床 路人甲:徒儿&#xff0c;昨晚休…

如何知道mysql的地址_如何知道自己的计算机上mysql的地址?

2019-01-07 回答using system; using system.data.sqlclient; using system.data; public class db { static string sql"server.;uid名字;pwd密码;database你要连的数据库"; private sqlconnection objsqlconnection new sqlconnection(sql); //以上是加载驱动你要…

CentOS 更改MySQL数据库目录位置

CentOS 更改MySQL数据库目录位置 由于MYSQL的数据库太大&#xff0c;默认安装的“/var”盘已经再也无法容纳新增加的数据&#xff0c;没有办法&#xff0c;只能想办法转移数据的目录。 以下是将MYSQL数据库默认安装目录从“/var/lig/mysql”目录转移到“/home/mysql_data/”目录…

这篇看完我得理解ES6中中常见语法

目录 前言 1let篇 1.1作用域 1.2变量提升 1.3相同作用域赋值 2const篇 3模板字符串篇 3.1传统 3.2模板字符串复制 4扩展运算符篇 4.1传统赋值 4.2扩展字符串复制 前言 ES6是前端面试中常考查得知识点&#xff0c;还请大家不断得去琢磨琢磨 let篇 <!DOCTYPE h…

django本地安装mysql_django使用mysql(本地环境下)_MySQL

事例使用的django版本是1.4.0(最近在使用sae&#xff0c;没办法&#xff0c;只好从1.7.1撤了回来)。不过原理大概都是相仿的吧。django支持多种数据库管理工具&#xff0c;如mysql, postgresql, sqlite, 和oracle。其中sqlite是内置在python中的&#xff0c;所以如果使用sqlite…

前端学习(1360) :学生档案信息管理2

service.js //引入http模块 const http require(http); //创建网站服务器 const app http.createServer(); //引入路由 const getRouter require(router);const router getRouter();router.get(/test, (req, res) > {res.end(test) }) router.get(/index, (req, res) &…

mac 上mysql_connect_Warning: mysql_connect(): No such file or directory 解决方案总结(操作系统: Mac)...

说明:1. 运行环境: Mac OS X 10.11.4 (Mac 已经自带 Apache, PHP)2. 相关文件夹:/etc/apache2/ ##Apache 配置文件夹/Library/WebServer/Documents/ ##Apache 默认站点/usr/local/mysql-5.7.11-osx10.9-x86_64 ##mysql安装路径/private/php.ini.default ##php…

Android - 基于Toolbar的Navigation Drawer(Material Design)

Material Design已经推出许久&#xff0c;有许多app都已经跟进了&#xff0c;这里也介绍下基于Toolbar的Navigation Drawer是如何实现的。 样式&#xff1a;实现过程&#xff1a;1. 在 activity_asdemo.xml 中加入 DrawerLayout  <android.support.v4.widget.DrawerLayout …

前端学习(1361):学生档案信息管理3

service.js //引入http模块 const http require(http); //创建网站服务器 const app http.createServer(); //引入路由 const getRouter require(router);const router getRouter();const template require(art-template);const path require(path);const serveStatic …

mysql查询结果每条记录两个字段求和_MYSQL实现将两个结果集合并,并且按照时间字段分组,其他字段的值求和...

本查询是计算两个表的相同时间(天)的记录数1.合并就用UNION ALL第一个查询:SELECTDATE_FORMAT(BIND_TIME,%Y-%m-%d) time,count(*)FROM bind_histGROUP BY time第二个查询:SELECTDATE_FORMAT(BIND_TIME,%Y-%m-%d) time,count(*)FROM bind_failedGROUP BY time合并后为:SELECTDA…

前端学习(1362):学生档案信息管理4

service.js //引入http模块 const http require(http); //创建网站服务器 const app http.createServer(); //引入路由 const getRouter require(router); const router getRouter(); const template require(art-template); const path require(path); const serveStat…

SharePoint 2013 图文开发系列之WebPart

SharePoint 2013 图文开发系列之WebPart 原文:SharePoint 2013 图文开发系列之WebPart这是我们介绍SharePoint开发入门的第一篇&#xff0c;在这一篇里&#xff0c;我们会介绍SharePoint开发的几个关键物理路径&#xff0c;一些开发技巧和最基础的WebPart开发。 开发工具 在Sha…

前端学习(1363):学生档案信息管理5

service.js //引入http模块 const http require(http); //创建网站服务器 const app http.createServer(); //引入路由 const getRouter require(router); const router getRouter(); const template require(art-template); const path require(path); const serveStat…

mysql c webservice_如何编写webservice c

展开全部采用的工具VS2010生成e69da5e6ba9062616964757a686964616f31333363396337工程1. 生成webservice工程&#xff1a;建 ASP.NET 空WEB 应用程序。2. 在建好的ASP.NET 空WEB应用程序中新建项“web 服务”。完成上述内容工程结构如下图下面主要的操作就是在webservice1.asmx…

Web 前沿——HTML5 Form Data 对象的使用(转)

XMLHttpRequest Level 2 添加了一个新的接口——FormData。利用 FormData 对象&#xff0c;我们可以通过 JavaScript 用一些键值对来模拟一系列表单控件&#xff0c;我们还可以使用 XMLHttpRequest 的 send() 方法来异步的提交表单。与普通的 Ajax 相比&#xff0c;使用 FormDa…

mysql 字符串类型 小数_在Mysql中,小数数据类型是指由字符串来表示的数字。(  )...

【单选题】中药检查项下的总灰分是指( )【单选题】中国药典规定取某样品 2.00g ,系指称取的质量应为( )【多选题】中国药典2015版鉴别中药真伪的方法有( )【多选题】中药及其制剂的鉴别方法包括( )【多选题】检查中药水分可以采用的方法有( )【单选题】药品检验工作的基本顺序为…

(五十五)iOS多线程之GCD

GCD的全称为Grand Central Dispatch&#xff0c;翻译为大中央调度&#xff0c;是Apple开发的一个多线程编程解决方法。 进程和线程的概念&#xff1a; 正在进行中的程序被称为进程&#xff0c;负责程序运行的内存分配&#xff0c;每一个进程都有自己独立的虚拟内存空间。 线程是…