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)
关于这个,我是这样理解的(如下图,手绘)
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。