网页设计中常听的属性名:内容(content)、内边距(padding)、边框(border)、外边距(margin), CSS盒子模型都具备这些属性。这些属性我们可以用日常生活中的常见事物——盒子作一个比喻来理解,所以叫它盒子模型。CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型。
*该图片来自百度百科
边框样式 border-style 可以设置如下值:
none
:没有边框(默认值)
solid
:边框为单实线
dashed
:边框为虚线
dotted
:边框为点线
可以简写为 border: 3px solid black;
border-top: 1px solid red;
是只设定上边框,具体的边框使用案例可以看博客day1_2。
边框会额外增加盒子的实际大小。因此在测量盒子大小的时候,不要量边框,如果测量的时候包含了边框,则需要width/height
减去边框宽度。
如果盒子已经有了宽度和高度,此时再指定内边框,会撑大盒子。如何盒子本身没有指定width/height
属性, 则此时padding
不会撑开盒子,可以放心使用padding
。
外边距可以让块级盒子水平居中,但是该盒子必须指定了宽度(width),盒子左右的外边距都要设置为 auto 。
我的写法是margin: 0 auto;
行内元素或者行内块元素想要水平居中,给其父元素添加text-align:center
即可。
<div class="example1">
<a href="#" class="bg">小爱</a>
</div>
.example1 a {
display: inline-block;
width: 600px;
height: 580px;
text-align: center;
line-height: 580px;
/* 下划线 */
text-decoration: none;
color: aliceblue;
border: 5px solid red;
border-style: double;
}
*注释掉“转换为行内块”的代码的显示。
*不注释掉“转换为行内块”的代码的显示。
这是因为<a>
本来是行内元素,其特点决定了:
行内块元素综合了行内元素和块元素的特点,其高度,行高、外边距以及内边距都可以控制(块级元素特点,典型代表是div
),故转换为该模式后成功显示图片。
(补充一个小知识:让文字的行高等于盒子的高度,就可以让文字在当前盒子内垂直居中。)
网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。
* {
padding:0; /* 清除内边距 */
margin:0; /* 清除外边距 */
}
语法格式如下:
box-shadow: h-shadow v-shadow blur spread color inset;
h-shadow v-shadow
:必选,分别是水平阴影的位置和垂直阴影的位置,允许负值。
blur
: 模糊距离。
spread
: 阴影的尺寸。
color
: 阴影的颜色。
inset
: 将外部阴影(outset)改为内部阴影。
效果如下图:
.example2 {
width: 300px;
height: 200px;
background-color: antiquewhite;
box-shadow: 5px 30px 2px 6px black;
}
文字阴影与之类似(text-shadow
)