P9-背景background-color-clip-image-repeat-size-position-雪碧图-table-form

背景属性

background-color

设置背景颜色,且会填充边框以内的所有部分,包括内边距、边框。

background-clip

设置背景显示的区域(设置背景的范围)
参数

属性值说明
border-box背景会延伸到边框的下边
padding-box背景会设置到内边距
center-box背景只会设置到内容区中

兼容性:ie8不兼容,以上版本是兼容的。

background-image

用于设置背景图片。
背景颜色和背景图片可以同时设置,这样颜色将会作为图片的底色显示。
背景图片默认会在网页中水平垂直双方向垂直。

background-repeat

设置背景图片的重复方式。

属性值说明
repeat默认值,双方向重复
repeat-x水平方向平铺
repeat-y垂直方向平铺
no-repeat不重复
backgroun-size

用来设置背景图片的尺寸。

属性值说明
cover使图片将元素填满,可能有部分图片从元素中溢出(确保图片比例不变)
contain完整显示图片,可能会有位置没有图片

注意:

  • 设置背景图片时,
    如果图片小于元素,则图片默认会从元素的左上角开始平铺。
    如果图片大于元素,则多余部分不会显示。
  • 需要两个值作为参数:宽度 高度。
  • 只设置一个100%,则图片按照容器宽100%填充,高度等比例缩小。
background-position

用来设置背景图片的位置。
设置形式

  • 可以通过位置关键字来设置位置
    简单来说就是九宫格。
    top(left、center、right)
    center(left、center、right)
    left(left、center、right)
    只写一个值,第二个值默认是center。
    例如:想让图片去下面的右边,则参数写bottom right。
  • 可以通过指定偏移量来设置背景图片的位置
    第一个值,水平方向偏移量 aaapx
    正值(背景向右移动)、负值(背景向左移动)。(一般是负值)
    第二个值,垂直方向的偏移量 aaapx
    正值(向下走)、负值(向上走)。(一般是负值)
background-origin

设置背景定位点的位置。

属性名说明
content-box内容区的左上角
padding-box内边距的左上角
默认值
border-box边距的左上角
background-attachment

背景是否固定

属性值说明
scroll滚动
fixed背景在视口中固定
属性具体案例值介绍
<style>
	.p{
		background-color: #bfa; 
		/*背景颜色*/
		background-image: url(img/1.png); 
		/*背景图片*/
		background-repeat: no-repeat; 
		/*背景图片的重复方式*/
		background-position: 10px 10px; 
		/*位置*/
		background-size: 200px 200px; 
		/*背景的尺寸*/
		background-origin: content-box; 
		/*定位的原点*/
		background-clip: border-box; 
		/*背景从哪里开始显示*/
		background-attachment: fixed; 
		/*背景是否固定到屏幕的指定位置*/
	}
</style>
background属性设置注意事项
  • background是背景的简写属性,所有的属性相关的样式都可以在background中设置,并且没有顺序的要求。
  • position和size都可以写数字,当一起书写时的格式为position/size,想只写size是不行的,必须写position。
  • origin和clip书写,需要先写origin再写clip。

练习

按钮-雪碧图

涉及知识点

  • 行内元素可以设置宽高,实现方式很多:
    display:block、inline-block;
    float:left、right;(浮动)
    position:absolute、fixed;(定位:绝对定位、可伸缩)
    按钮link-hover-active
    当按钮状态从link 切换到hover时 或 从hover切换到 active时,第一次会出现一个闪烁。
    原因:
    浏览器在加载页面时需要先加载当前页面,然后再加载页面中引入的外部资源。而外部资源不是立刻加载的,外部资源需要在被使用时才会加载。
    当我们从link切换到hover状态时,需要去加载hover的图片,而加载和显示之间存在一个时间差,这样在图片加载中会出现没有背景图片的情况,这样就导致闪烁。
    解决方式:
    可以将多个按钮保存到一个图片中,这样我们一次性加载所有的图片,然后通过偏移量来修改我们需要显示的图片即可。这个技术,我们称为CSS Sprite(CSS精灵)。这种图我们称为雪碧图。

雪碧图

  • 优点:
    将多个图片保存到一个图片中,降低发送请求的次数,增加用户的访问速度;
    将多个图片保存到一个图片中,也会降低图片的总大小,增快加载速度;
  • 缺点:
    只适用于背景图片
  • 制作雪碧图:
    制作雪碧图的网站,著名的前端团队:(腾讯)alloyteam、(360)奇舞团、(京东)auto
    本次课程中讲述的是:alloyteam.github.io/gopng/
    通过这个网站可以方便制作雪碧图,有png和css格式,css格式的文件中有每个图的偏移量。
  • 雪碧图的使用步骤:
    ①创建一个元素,大小就是图标的大小
    ②将雪碧图设置 为元素的背景
    ③设置背景的偏移量,使其可以显示图标
  • a标签中的href = # 和 = javascript 的区别
 <!--   #是占位符,也可以写javascript:;-->
 <a href="javascript:;" class="btn"></a>

href = # 点击此链接后,页面会向上滚到首页;
href = javascript:; 点击此链接后,页面不动,只是打开连接;

表格案例

当先后设置tr:hover、tr:nth-child(even)时,鼠标选中偶数行没有设置的效果。
原因是:
前后两者的优先级相同,但是tr:nth-child(even)书写在后面,所以优先级较高。
解决方式:
将两者换位;
提高tr:hover的优先级,书写为table tr:hove。(table tr书写上看似是父子元素,看似可以使用table > tr,但是却不灵。解释:)

margin失效的现象 box1里面是box2,给box1设置display:table-cell,此时box1的margin会失效。
使box2在box1中垂直水平居中,等价于 对box1设置table-cell属性,而box2相当于其中的内容。

表格table

概述

表格用来表示一些格式化的数据。
在网页中,使用table来创建表格。
table是个块元素,但是默认宽度是被内容撑开的。

表格创建
标签tr td(thead/tbody/tfoot)

table 表示一个表格,
tr 表示一行,
td 表示一个单元格。
thead 表示表格的头部。
tbody 表示表格的主体。
tfoot 表示表格的底部。
注意
使用tr来表示表格中的一行,有几个tr就有几行。
tr中使用td来表示单元格,有几个td就有几个单元格。表格的列数由td最多的那行决定。如果其中有个td中写了colspan=5则说明单元格有5个。

标签之间的关系

<body>
	<table>
		<thead>
		</thead>
		<tbody>
			<tr>
				<td>
				</td>
			</tr>
		</tbody>
		<tfoot>
		</tfoot>
	</table>
</body>
表格属性(border/width/align/rowspan/clospan/border-spacing-border-collapse)

边框通过属性border来设置(1表示边框的宽度)。
宽度通过属性width来设置(50%占显示窗口的50%)。
位置通过align来设置(center居中)。
rowspan 纵向的合并单元格,参数表示合并单元格的个数。
colspan 横向的合并单元格。参数表示合并单元格的个数。
border-spacing设置表格之间的距离,在table中设置,当设置为0,则table表格和td表格边框重合。此时效果看起来是重合在一起,但实际上是两个边框在一起挨着。
border-collapse 设置边框是否重合,参数collapse设置重合。当写了border-collapse后border-spacing自动生效为0。
举例:

<table border="1" align='center' width='50%'>
<!-- 设置表格边框,表格位置,表格宽度 -->
	<tr>
		 <td colspan="2"></td>
		 <!-- 横向合并两个单元格 -->
	</tr>
</table>

表单 form

表单用来将信息提交给他人。
网页中的表单用来将信息提交给服务器。
表单创建

<form action="target.html">
</form>

使用form标签来创建表单。
action是表单提交的目标的地址。
表单中需要添加一个一个的表单项。

表单提交

文本框,type是text

<input type="text" name="uersname">

密码框,type是password

<input type="password" name='password'>

提交按钮,type是submit

<input type="submit" value='注册'>

注意: 表单项:只有指定name属性的才会被提交给服务器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值