CSS笔记

8.14

1.背景属性(background)

背景其实大致可分为两大类,一种是颜色,一种是图片,相对于图片背景来说,颜色的可设属性较少,大部分的属性都是针对于图片背景来说

1.1.背景颜色(background-color)

元素背景范围 background-color 属性为元素设置⼀种纯色。这种颜色会填充元素的内容、内边距和边框区域,扩展到元素边框的外边界(但不包括外边距)。如果边框有透明部分(如虚线边框),会透过这些透明部分显示出背景色,他有五种取值方式,分别是

1.transparent 默认,透明背景

2.color_name 颜色名称,比如red

3.hex_number 十六进制颜色,比如#ff000

4.rgb_number rgb色值,比如rgb(255,0,0)或者rgba(255,0,0,.2)

5.inherit 继承父元素背景色

1.2.背景图片(background-image)

background-image 属性设置元素的背景图片,元素的背景占据了元素的全部尺寸,包括内边距和边框,但不包括外边距。 默认,背景图像位于元素的左上角,并在水平和垂直方向上重复。他的属性值为 url('图片的路径地址')

1.2.1.背景平铺(background-repeat)

background-repeat 属性设置是否重复背景图像,他有四种取值,分别是

1.repeat 默认值,水平垂直方向上平铺

2.no-repeat 不平铺

3.repeat-x 水平方向平铺

4.repeat-y 垂直方向平铺

1.2.2.背景图片固定(background-attachment)

background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动。 他有两种取值,分别是:

1.scroll 默认值。背景图像会随着页面其余部分的滚动而移动

2.fixed 当页面的其余部分滚动时,背景图像不会滚动

1.2.3.背景定位(background-position)

background-position 属性设置背景图像的起始位置。 这个属性设置背景原图像的位置,背景图像如果要重复,将从这⼀点开始。他有两种取值方式,分别是

1.上下 左右 第一个位置定义上下的位置(top/center/bottom),第二个定义左右位置(left/center/right),如果仅定义一个值,第二个值为 center

2.x y 第一个值为水平位置,第二个为垂直位置,可以是百分比或者px,如果仅定义一个值,第二个值为50%

1.2.4.背景图片尺寸(background-size)

background-size 属性规定背景图像的尺寸。四个取值:

1.length 设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 "auto"。

2.percentage 以父元素的百分比来设置背景图像的宽度和高度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 "auto"。

3.cover 把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。

4.contain 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。

1.2.5.背景图片显示区域(background-origin)

background-origin 属性规定 background-position 属性相对于什么位置来定位。 注意:如果背景图像的 background-attachment 属性为 "fixed",则该属性没有效果。三个取值:

1.padding-box 默认值,背景图像相对于内边距定位

2.border-box 背景图像相对于边框定位

3.content-box 背景图像相对于内容边框定位

1.2.6.背景显示区域(background-clip)

background-clip 属性规定背景的绘制区域。有三种取值:

1.border-box 默认值,背景填充全部

2.padding-box 背景填充不包括边框

3.content-box 背景只填充内容部分

 注意事项:当使用background-origin和background-clip属性时,background-origin应该大于background-clip,开始显示的地方应该大于结束显示的地方。

2.雪碧图(精灵图)

雪碧图就是将很多很多的小图标放在一张图片上,就称之为雪碧图 使用雪碧图的优势:

1.将多张图片合并到一张图片中,可以减小图片的总大小。

2.将多张图片合并成一张图片,下载全部所需的资源,只需一次请求。可以减小建立连接的消耗。

图片示例 

使用方法如下

HTML

<div class='box1'></div>
<div class='box2'></div>

CSS

div{
    width: 30px;
    height: 30px;
    border: 1px solid #f00;
    background: url('雪碧图路径') no-repeat;
}
.box1{
    background-position: 3px 3px;
}
.box2{
    /* 通过背景图片定位,调整图片的位置 */
    background-position: 3px -40px;
}

雪碧图图标定位推荐网址:Sprite Cow - Generate CSS for sprite sheetsicon-default.png?t=N7T8http://www.spritecow.com/1.使用方法:

2.点击open image

3.选择图片

4.选择selet spriet

5.使用鼠标选中需要使用的小图标

6.下面会自动显示 x y width height

7.在对应的css中填入需要的数值

3.外边距合并问题

外边距合并分为三种情况

3.1.在两种元素为同级关系时

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并

如下展示

HTML

<div class="one"></div>
<div class="two"></div>

CSS

.one {
  width:100px;
  height:100px;
  margin-bottom:20px;
  background-color:red;
}

.two {
  width:100px;
  height:100px;
  margin-top:10px;
  background-color:blue;
}

此时两个盒子之间的距离并不是30px,而是以one盒子较大的下外边距为准的20px,相反如果two盒子的上外边距较大,就生效two盒子上外边距,当两个值相同时,生效的仍然是一个值的距离

3.2.当两种元素为嵌套关系时

当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并

如下展示

HTML

<div class="out">
  <div class="in"></div>
</div>

CSS

.out {
  width:300px;
  height:300px;
  background-color:red;
  margin-top:20px;
}

.in {
  width:50px;
  height:50px;
  background-color:blue;
  margin-top:10px;
}

3.3.当只有一种元素时

假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起

如下展示

HTML

<div class="one"></div>

CSS

.one{
    margin-top:10px;
    margin-bottom:20px;
}

3.4.发生外边距合并时的解决方案

除了以下方法外还有其他方法,根据实际情况选择解决方案,我只会这多

 1.可以为父元素定义上边框。

2. 可以为父元素定义上内边距。

3.可以为父元素添加 overflow:hidden。

4.为元素添加浮动效果。

4.文本与图片的对齐方式

文本与图片的对齐方式是通过在img标签中添加vertical-align属性,他有三种属性值

1.text-top 文字对齐在图片的上面

2.middle 文字对齐在图片的中间

3.text-bottom 文字对齐在图片的下面

HTML

<p>
    这是一幅<img class="bottom" src="图片路径" />位于段落中的图像。
</p>

CSS

img.top {
    vertical-align:text-top;
}

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值