目录
一、布局模型
网页布局模型:个人理解,就是对html中各个元素进行一个排列。而排列的方法可以分为三种:流动模型、浮动模型、层模型。
二、流动模型
这是网页默认情况的布局模式。
特征:
三、浮动模型
用来解决块级元素的霸道特征,比如想让两个块级元素处于同一行,就可以使用浮动模型;
具体表现形式:可以用css的float属性,来控制元素浮动。
四、层模型
类似photoshop中的图层编辑功能一样,让每个html元素能够在网页中精确定位。
具体操作:用css的position属性来支持层模型。
层模型有三种形式:
1、绝对定位(position: absolute)
将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行定位。
如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
2、相对定位(position:relative)
相对于之前的位置进行偏移。移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
3、固定定位(position: fixed)
和absolute类似,不过他是相对于视图本身(屏幕内的网页窗口)。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,
除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,
因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响。
4、absolute和relative的组合使用
回顾上面 absolute的关键点:1、参照物:它的父元素 2、并且参照物必须是定位元素。
relative的关键点:1、参照物:自己本身
所以如果需要将子元素相对父元素绝对定位时,就可以利用relative将父元素变为定位元素,子元素使用absolute,就可以进行绝对定位了。
五、颜色值
在网页中的颜色设置是非常重要,有字体颜色(color
)、背景颜色(background-color
)、边框颜色(border
)等,设置颜色的方法也有很多种:
1、英文命令颜色
比如:p{color:red;} 将颜色设置为红色。
2、RGB颜色
这个与 photoshop
中的RGB
颜色是一致的,由R(red)
、G(green)
、B(blue)
三种颜色的比例来配色。
<span style="font-size: 16px; background-color: #ededed;"><code><span class="pln"> p<span class="pun">{<span class="pln">color<span class="pun">:<span class="pln">rgb<span class="pun">(<span class="lit">133<span class="pun">,<span class="lit">45<span class="pun">,<span class="lit">200<span class="pun">);}</span></span></span></span></span></span></span></span></span></span></span></span></code></span>Salin selepas log masuk
每一项的值可以是 0~255 之间的整数,也可以是 0%~100% 的百分数。如:
<span style="font-size: 16px; background-color: #ededed;"><code><span class="pln"> p<span class="pun">{<span class="pln">color<span class="pun">:<span class="pln">rgb<span class="pun">(<span class="lit">20<span class="pun">%,<span class="lit">33<span class="pun">%,<span class="lit">25<span class="pun">%);}</span></span></span></span></span></span></span></span></span></span></span></span></code></span>Salin selepas log masuk
3、十六进制颜色
这种颜色设置方法是现在比较普遍使用的方法,其原理其实也是RGB
设置,但是其每一项的值由 0-255
变成了十六进制00-ff
。
<span style="color: #800000;"> p</span>{<span style="color: #ff0000;">color</span>:<span style="color: #0000ff;">#00ffff</span>;}
<span style="background-color: #ededed;"><code><span class="pln"><span class="pun"><span id="p6" class="pln"><span class="pun"><span class="com"><span style="font-size: 18px; background-color: #ffffff;"><strong>六、长度值</strong><br /> <span style="font-size: 16px;">目前比较常用到<code>px(像素)</code>、<code>em</code>、<code>% 百分比</code>,要注意其实这三种单位都是<span style="color: #ff6600;">相对单位</span>。</span></span></span></span></span></span></span></code></span><span style="font-size: 16px; background-color: #ededed;"><code><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="com"><span style="background-color: #ffffff;"> <br /> 1、像素<br /></span></span></span></span></span></span></code></span><span style="font-size: 16px;"> </span><span style="font-size: 16px; line-height: 1.5;">像素指的是显示器上的小点(CSS规范中假设“</span><code style="font-size: 16px; line-height: 1.5;">90像素=1英寸</code><span style="font-size: 16px; line-height: 1.5;">”)。实际情况是浏览器会使用显示器的实际像素值有关,在目前大多数的设计者都倾向于使用像素(</span><code style="font-size: 16px; line-height: 1.5;">px</code><span style="font-size: 16px; line-height: 1.5;">)作为单位。<br /></span><span style="font-size: 16px;"> 2、em<br /></span><span style="font-size: 16px;"> 就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px;如果 font-size 为 18px,那么 1em = 18px。如下代码:</span>
<span style="font-size: 16px;"><span style="color: #800000;">p</span>{<span style="color: #ff0000;">font-size</span>:<span style="color: #0000ff;">12px</span>;<span style="color: #ff0000;">text-indent</span>:<span style="color: #0000ff;">2em</span>;}</span>
上面代码就是可以实现段落首行缩进 24px(也就是两个字体大小的距离)。
特殊情况:当给 font-size 设置单位为 em 时,此时计算的标准以 它的父元素的 font-size 为基础。
3、百分比
<span style="font-size: 16px;"><span style="color: #800000;">p</span>{<span style="color: #ff0000;">font-size</span>:<span style="color: #0000ff;">12px</span>;<span style="color: #ff0000;">line-height</span>:<span style="color: #0000ff;">130%</span>}</span>
设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)。
<span style="background-color: #ededed;"><code><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="com"><span style="font-size: 18px; background-color: #ffffff;"><br /><br /><br /></span><br /></span></span></span></span></span></code></span>