重写HTML盒子模型,文档模型

7.17和7.18的总结

1.div水平居中设置

居中分为两种情况:一.行内元素二.块状元素(定宽和不定宽两种)

about“行内元素居中”

如果行内元素是文字(文本)或者图片等,就直接设置为text-align:center.比如body里为"<div class=“ffcenter”>这个内容居中水平显示。</div>",css里面直接设置".ffcenter{text-align:center}",这里并不是将div通过display转换为行元素所以能直接用“text-align”,而是因为body里的“ffcenter”是类选择器(和子选择器差不多),所以div为父元素,才可以直接设置。

about"块状元素"

①定宽块状

例子:div{

width:200px;//定宽定宽,就是块元素的宽度是固定的

margin:20px auto;//设置左右为20px auto和我前几天说的盒子模型的简写一样,这一句也可以写成"margin-right:20px auto;margin-right:20px auto;"

}

②不定宽

方法有很多,一般人们用以下这三种

一,转换,display:inline,然后用我上面说的行内元素那样

二,加入table标签

三,如图(1,2)

1


2

关于这个,我是这样理解的(如下图,手绘) 


2.重写文档模型 (css包含三种基本布局模型)

三种分别为:流动模型,浮动模型,层模型

流动模型:是网页的默认模型,块级元素是自上而下的,按照写的顺序分布,自然而然没有设置宽度时宽度就为100%,行元素是从左到右显示。

浮动模型:在流动模型中,块级元素是自上而下分布的,而浮动模型可以做到让块元素并排。如果让块元素都左对齐就在css的div(块元素,不用区分开来)里面加语句“float:left;”右对齐自然而然就是"float:right;",一左一右就给相应的块分开设置,一个为:“float:left;”,一个为:"float:right;"。

层模型:有三种形式。绝对定位、相对定位、固定定位。

绝对定位:使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位(不太懂)。如果不存在这样的包含块,则相对于body元素,即相对于浏览窗口。(语句为position:absolute;)

about“移动”:块元素向右移动和向下移动不是我想的right:XX;bottom:XX;

而是距离左边XX,距离上面XX,距离原来的0,动了XX那么多,自然就是向那里移动了XX。(默认位置我开始以为是任何位置的左上角,但前提应该是没有包含块,相对于浏览窗口的左上角)


这是“移动”的例图

相对定位:它通过left、right、top、bottom属性确定元的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于之前的地方进行移动移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。也就是我16号写的,后面移动的覆盖不了移动前的。(移动方式和绝对定位的一样,语句是position:relative;)

固定定位:移动坐标是网页的窗口,位置是固定的,不会随着滚动条滚动而变化。语句是position:fixed;和background-attachment:fixed属性相同。

background-attachment:fixed(当页面的其余部分滚动时,背景图像不会移动。)

background-attachment:scroll(默认值,背景图像会随着页面其余部分的滚动而移动。)

3.重写盒子模型

比如一个盒子模型,主要分为两部分。一部分就是盒子,另一部分就是内容。盒子举例为“div”(或者任何别的块元素);内容可以随便为文字(文本)、图片。内容如果没有填满盒子那内容之间的距离或者其他元素为“内填充(padding)”;而盒子的外面还有一个边框(border);如果有多个盒子存在,盒子与盒子之间的距离:称为外边距margin。

不论是内填充还是边框上还是外边距都有四个方向,拿边框举例:border-top;border-right;border-bottom;border-left。

①about“border”

可以设置三个属性:颜色、样式、粗细。

颜色:border-color:;

样式:border-style:;(dashed(虚线)| dotted(点线)| solid(实线))

粗细:border-width:;(一般用px像素)

②about"实际宽度"

元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。也就是margin-left+border-left+padding-laft+width+padding-right+border-right+margin-right。

③代码简写(上右下左)

①如果上下左右的值相等则为

margin:10px;

②如果上下相等,左右相等,则为

比如:margin:10px 20px 10px 20px;

margin:10px 20px;(上下,左右)

③如果左和右相等,则为

margin:10px 20px 30px 20px;

margin:10px 20px 30px;(上,左右,下)

这个代码简写,内填充(padding),边框(border),同样适用。

注:盒子模型一共有两种:IE模型和W3C两种。我写的是标准的W3C模型,IE模型和标准的盒子模型不同点是:IE模型的content包含了内填充和边框,也就是说只有,content和margin。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,332评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 5,014评论 5 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,148评论 1 45
  • 这是第一次在这上面写心情,像挖到宝贝一样惊喜。 也不知道这几个大爷再拍什么,好几天了他们一直坐在那里,手里抱着相机...
    娜nadena阅读 425评论 2 0
  • 对比犀牛书那本厚厚的“字典”,《javascript高级程序设计》可以算是一本由浅入深的好读物。。这段时间翻了前几...
    lurker阅读 1,400评论 0 1

友情链接更多精彩内容