在国内做推广产品用什么网站好,建站宝盒视频,红包打赏的网站怎么做,网站的建设模式是指什么时候在CSS 2.1中#xff0c;background属性的功能还无法满足设计的需求#xff0c;为了方便设计师更灵活地设计需要的网页效果#xff0c;CSS3在原有background基础上新增了一些功能属性#xff0c;可以在同一个对象内叠加多个背景图像#xff0c;可以改变背景图像的大小尺寸background属性的功能还无法满足设计的需求为了方便设计师更灵活地设计需要的网页效果CSS3在原有background基础上新增了一些功能属性可以在同一个对象内叠加多个背景图像可以改变背景图像的大小尺寸还可以指定背景图像的显示范围以及指定背景图像的绘制起点等。另外CSS3允许用户使用渐变函数绘制背景图像这极大地降低了网页设计的难度激发了设计师的创意灵感。
1、设计背景图像
CSS3增强了background属性的功能允许在同一个元素内叠加多个背景图像还新增了3个与背景相关的属性background-clip、background-origin、background-size。
1.1、设置背景图像
在CSS中可以使用background-image属性定义背景图像具体用法如下 background-imagenone | url其中默认值为none表示无背景图url表示使用绝对或相对地址指定背景图像。
【示例】如果背景包含透明区域的GIF或PNG格式图像则被设置为背景图像时这些透明区域依然被保留。在下面这个示例中先为网页定义背景图像再为段落文本定义透明的GIF背景图像 style typetext/csshtml, body, p{ height:100%;}body {background-image:url(images/bg.jpg);}p { background-image:url(images/ren.png);}/stylep/p1.2、设置显示方式
CSS使用background-repeat属性控制背景图像的显示方式具体用法如下所示 background-repeatrepeat-x | repeat-y | [repeat | space | round | no-repeat]{1,2}取值说明如下
repeat-x背景图像在横向平铺。repeat-y背景图像在纵向平铺。repeat背景图像在横向和纵向平铺。no-repeat背景图像不平铺。round背景图像自动缩放直到适应且充满整个容器仅CSS3支持。space背景图像以相同的间距平铺且充满整个容器或某个方向仅CSS3支持。
【示例】设计一个公司公告栏其中宽度是固定的但是其高度可能会根据正文内容进行动态调整为了适应设计需要不妨利用垂直平铺进行设计。【操作步骤】第1步把“公司公告”栏目分隔为上、中、下三块设计上块和下块为固定宽度而中间块为可以随时调整高度。设计的结构如下 div idcalldiv idcall_tit公司公告/div div idcall_mid/div div idcall_btm/div /div第2步主要背景样式经过调整中间块元素的高度以形成不同高度的公告牌 #call_tit {background:url(images/call_top.gif); /* 头部背景图像 */background-repeat:no-repeat; /* 不平铺显示 */height:43px; /* 固定高度与背景图像高度一致 */}#call_mid {background-image:url(images/call_mid.gif); /* 背景图像 */background-repeat:repeat-y; /* 垂直平铺 */height:160px; /* 可自由设置的高度 */}#call_btm {background-image:url(images/call_btm.gif); /* 底部背景图像 */background-repeat:no-repeat; /* 不平铺显示 */height:11px; /* 固定高度与背景图像高度一致 */}1.3、设置显示位置
在默认情况下背景图像显示在元素的左上角并根据不同方式执行不同的显示效果。为了更好地控制背景图像的显示位置CSS定义了background-position属性精确定位背景图像。
background-position属性的取值包括两个值它们分别用来定位背景图像的x轴、y轴坐标取值单位没有限制。具体用法如下所示 background-position[ left | center | right | top | bottom | percentage | length ] | [ left | center | right | percentage | length ]
[ top | center | bottom | percentage | length ] | [ center | [ left | right ] [ percentage | length ]? ] [ center | [ top | bottom ]
[ percentage | length ]? ]默认值为0% 0%等效于left top。
注意百分比是最灵活的定位方式同时也是最难把握的定位单位。
在默认状态下定位的位置为(0% 0%)定位点是背景图像的左上顶点定位距离是该点到包含框左上角顶点的距离即两点重合。
如果定位背景图像为(100% 100%)定位点是背景图像的右下顶点定位距离是该点到包含框左上角顶点的距离这个距离等于包含框的宽度和高度。
百分比可以取负值负值的定位点是包含框的左上顶点而定位距离则由图像自身的宽度和高度决定。
提示CSS提供了5个关键字left、right、center、top和bottom。这些关键字实际上就是百分比特殊值的一种固定用法。详细列表说明如下 /* 普通用法 */top left、left top 0% 0%right top、top right 100% 0%bottom left、left bottom 0% 100%bottom right、right bottom 100% 100%/* 居中用法 */center、center center 50% 50%/* 特殊用法 */top、top center、center top 50% 0%left、left center、center left 0% 50%right、right center、center right 100% 50%bottom、bottom center、center bottom 50% 100%1.4、设置固定背景
在默认情况下背景图像能够跟随网页内容上下滚动。可以使用background-attachment属性定义背景图像在窗口内固定显示具体用法如下 background-attachmentfixed | local | scroll默认值为scroll具体取值说明如下
fixed背景图像相对于浏览器窗体固定。scroll背景图像相对于元素固定。也就是说当元素内容滚动时背景图像不会跟着滚动因为背景图像总是要跟着元素本身。local背景图像相对于元素内容固定。也就是说当元素内容滚动时背景图像也会跟着滚动。此时不管元素本身是否滚动当元素显示滚动条时才会看到效果。该属性值仅CSS3支持。
1.6、设置定位原点
background-origin属性定义background-position属性的定位原点。在默认情况下background-position属性总是以元素左上角为坐标原点定位背景图像。使用background-origin属性可以改变定位方式。该属性的基本语法如下所示 background-origin:border-box | padding-box | content-box;取值简单说明如下
border-box从边框区域开始显示背景。padding-box从补白区域开始显示背景为默认值。content-box仅在内容区域显示背景。
1.6、设置剪裁区域
background-clip属性定义背景图像的裁剪区域。该属性的基本语法如下所示 background-clip:border-box | padding-box | content-box | text;取值简单说明如下:
border-box从边框区域向外裁剪背景为默认值。padding-box从补白区域向外裁剪背景。content-box从内容区域向外裁剪背景。text从前景内容如文字区域向外裁剪背景。
提示如果取值为padding-box则background-image将忽略补白边缘此时边框区域显示为透明。如果取值为border-box则background-image将包括边框区域。 如果取值为content-box则background-image将只包含内容区域。 如果background-image属性定义了多重背景则background-clip属性值可以设置多个值并用逗号分隔。如果background-clip的属性值为padding-boxbackground-origin的属性值为border-box且background-position的属性值为top left默认初始值则背景图的左上角将会被截取掉部分。
【示例】演示如何设计背景图像仅在内容区域内显示: div {height:150px;width:300px;border:solid 50px gray;padding:50px;background:url(images/bg.jpg) no-repeat;/*将背景图像等比缩放到完全覆盖包含框背景图像有可能超出包
含框*/background-size:cover;/*将背景图像从content区域开始向外裁剪背景*/background-clip:content-box;}1.7、设置背景图像大小
background-size可以控制背景图像的显示大小。该属性的基本语法如下所示 background-size: [ length | percentage | auto ]{1,2} | cover | contain;取值简单说明如下
length由浮点数字和单位标识符组成的长度值不可为负值。percentage取值范围为0%100%不可为负值。cover保持背景图像本身的宽高比例将图片缩放到正好完全覆盖所定义背景的区域。contain保持图像本身的宽高比例将图片缩放到宽度或高度正好适应所定义背景的区域。
初始值为auto。background-size属性可以设置1个或2个值1个为必填1个为可选。其中第1个值用于指定背景图像的width第2个值用于指定背景图像的height如果只设置1个值则第2个值默认为auto。
【示例】使用image-size属性自由定制背景图像的大小让背景图像自适应盒子的大小从而可以设计与模块大小完全适应的背景图像。只要背景图像长宽比与元素长宽比相同就不用担心背景图像变形显示。 div {margin:2px;float:left;border:solid 1px red;background:url(images/img2.jpg) no-repeat center;/*设计背景图像完全覆盖元素区域*/background-size:cover;}1.8、设置多重背景图像
CSS3支持在同一个元素内定义多个背景图像还可以将多个背景图像进行叠加显示从而使得设计多图背景栏目变得更加容易。
【示例】使用CSS3多背景设计花边框使用background-origin定义仅在内容区域显示背景使用background-clip属性定义背景从边框区域向外裁剪 style typetext/css.multipleBg {/*定义5个背景图分别定位到4个顶角其中前4个禁止平铺最后一个可以平铺*/background: url(images/bg-tl.png) no-repeat left top,url(images/bg-tr.png) no-repeat right top,url(images/bg-bl.png) no-repeat left bottom,url(images/bg-br.png) no-repeat right bottom,url(images/bg-repeat.png) repeat left top;/*改变背景图像的position原点四朵花都是border原点而平铺背景是paddin原点*/background-origin: border-box, border-box, border-box, border-box, padding-box;/*控制背景图像的显示区域所有背景图像超过border外边缘都将被裁剪*/background-clip: border-box;}效果如下图所示
2、设计渐变背景
W3C于2010年11月正式支持渐变背景样式该草案作为图像值和图像替换内容模块的一部分进行发布主要包括linear-gradient()、radial-gradient()、repeating-linear-gradient()和repeating-radial-gradient() 4个渐变函数。
2.1、定义线性渐变
创建一个线性渐变至少需要两种颜色也可以选择设置一个起点或一个方向。简明语法格式如下 linear-gradient( angle, color-stop1, color-stop2, …)参数简单说明如下
(1)angle用来指定渐变的方向可以使用角度或者关键字来设置。关键字包括4个说明如下:
to left设置渐变为从右到左相当于270 deg。to right设置渐变从左到右相当于90 deg。to top设置渐变从下到上相当于0 deg。to bottom设置渐变从上到下相当于180 deg。该值为默认值。
提示如果创建对角线渐变可以使用to top left从右下到左上类似组合来实现。
(2) color-stop用于指定渐变的色点包括一个颜色值和一个起点位置颜色值和起点位置以空格分隔。起点位置可以是一个具体的长度值不可为负值也可以是一个百分比值。如果是百分比值则参考应用渐变对象的尺寸最终会被转换为具体的长度值。
【示例1】为
对象应用一个简单的线性渐变背景方向为从上到下颜色由白色到浅灰显示: style typetext/css#demo {width:300px;height:200px;background: linear-gradient(#fff, #333);}/stylediv iddemo/div提示针对示例1用户可以继续尝试做下面的练习实现不同的设置得到相同的设计效果。
设置一个方向从上到下覆盖默认值: linear-gradient(to bottom, #fff, #333); 设置反向渐变从下到上同时调整起止颜色的位置: linear-gradient(to top, #333, #fff); 使用角度值设置方向: linear-gradient(180deg, #fff, #333); 明确起止颜色的具体位置覆盖默认值: linear-gradient(to bottom, #fff 0%, #333 100%);
【补充】最新主流浏览器都支持线性渐变的标准用法但是考虑到安全性用户应酌情兼容旧版本浏览器的私有属性。Webkit是第一个支持渐变的浏览器引擎(Safari 4)它使用-webkit-gradient()私有函数支持线性渐变样式。简明用法如下: -webkit-gradient(linear, point, point, stop)参数简单说明如下:
linear定义渐变类型为线性渐变。point定义渐变起始点和结束点坐标。该参数支持数值、百分比和关键字如(0 0)或者(left top)等。关键字包括top、bottom、left和right。stop定义渐变色和步长。它包括3个值即开始的颜色使用from(colorvalue)函数定义结束的颜色使用to(colorvalue)函数定义颜色步长使用color-stop(value,color value)函数定义。color-stop()函数包含两个参数值第一个参数值为一个数值或者百分比值取值范围为01.0或者0%100%第二个参数值表示任意颜色值。
2.2、定义重复线性渐变
使用repeating-linear-gradient()函数可以定义重复线性渐变用法与linear-gradient()函数相同。
提示使用重复线性渐变的关键是定义好色点让最后一种颜色和第一种颜色能够很好地连接起来若处理不当将导致颜色急剧变化。
【示例1】设计重复显示的垂直线性渐变颜色从红色到蓝色间距为20% style typetext/css#demo {height:200px;background: repeating-linear-gradient(#f00, #00f 20%, #f00 40%);}/stylediv iddemo/div2.3、定义径向渐变
创建一个径向渐变至少需要定义两种颜色同时可以指定渐变的中心点位置、形状类型圆形或椭圆形和半径大小。简明语法格式如下 radial-gradient(shape size at position, color-stop1, color-stop2, …);参数简单说明如下
1shape用来指定渐变的类型包括circle圆形和ellipse椭圆形两种。 2size如果类型为circle指定一个值设置圆的半径如果类型为ellipse指定两个值分别设置椭圆形的x轴和y轴半径。取值包括长度值、百分比、关键字。关键字说明如下
closest-side指定径向渐变的半径长度为从中心点到最近的边。closest-corner指定径向渐变的半径长度为从中心点到最近的角。farthest-side指定径向渐变的半径长度为从中心点到最远的边。farthest-corner指定径向渐变的半径长度为从中心点到最远的角。
3position用来指定中心点的位置。如果提供两个参数第一个表示x轴坐标第二个表示y轴坐标如果只提供一个值第二个值默认为50%即center。取值可以是长度值、百分比或者关键字关键字包括left左侧、center中心、right右侧、top顶部、center中心、bottom底部。
注意position值位于shape和size值的后面。
4color-stop用于指定渐变的色点包括一个颜色值和一个起点位置颜色值和起点位置以空格分隔。起点位置可以为一个具体的长度值不可为负值也可以是一个百分比值。如果是百分比值则参考应用渐变对象的尺寸最终会被转换为具体的长度值。
【示例1】在默认情况下渐变的中心是center对象中心点渐变的形状是ellipse椭圆形渐变的大小是farthest-corner表示到最远的角落。下面示例仅为radial-gradient()函数设置3个颜色值则它将按默认值绘制径向渐变效果 style typetext/css#demo {height:200px;background: -webkit-radial-gradient(red, green, blue); /* Safari 5.1 - 6.0 */background: -o-radial-gradient(red, green, blue); /* Opera 11.6 - 12.0 */background: -moz-radial-gradient(red, green, blue); /* Firefox 3.6 - 15 */background: radial-gradient(red, green, blue); /* 标准语法 */}/stylediv iddemo/div提示针对示例1用户可以继续尝试做下面的练习实现不同的设置得到相同的设计效果。
设置径向渐变形状类型默认值为ellipse: background: radial-gradient(ellipse, red, green, blue); 设置径向渐变中心点坐标默认为对象中心点: background: radial-gradient(ellipse at center 50%, red, green, blue);设置径向渐变大小这里定义填充整个对象: background: radial-gradient(farthest-corner, red, green, blue);
【补充】最新主流浏览器都支持线性渐变的标准用法但是考虑到安全性用户应酌情兼容旧版本浏览器的私有属性。Webkit引擎使用-webkit-gradient()私有函数支持径向渐变样式简明用法如下: -webkit-gradient(radial, point, radius, stop)参数简单说明如下
radial定义渐变类型为径向渐变。point定义渐变中心点坐标。该参数支持数值、百分比和关键字如(0 0)或者(left top)等。关键字包括top、bottom、center、left和right。radius设置径向渐变的长度该参数为一个数值。stop定义渐变色和步长。它包括3个值即开始的颜色使用from(colorvalue)函数定义结束的颜色使用to(colorvalue)函数定义颜色步长使用color-stop(value,color value)函数定义。color-stop()函数包含两个参数值第一个参数值为一个数值或者百分比值取值范围为01.0或者0%100%第二个参数值表示任意颜色值。
【示例2】设计一个红色圆球并逐步径向渐变为绿色背景兼容早期Webkit引擎的线性渐变实现方法。代码如下所示 style typetext/css#demo {height:200px;/* Webkit引擎私有用法 */background: -webkit-gradient(radial, center center, 0, center center, 100, from(red), to(green));background: radial-gradient(circle 100px, red, green); /* 标准的用法 */}/stylediv iddemo/div另外Webkit引擎也支持-webkit-radial-gradient()私有函数设计径向渐变。该函数用法与标准函数radial-gradient()语法格式类似。简明语法格式如下 -webkit-radial-gradient(position, shape size, color-stop1, color-stop2, ……);Gecko引擎定义-moz-radial-gradient()私有函数设计径向渐变。该函数用法与标准函数radial-gradient()语法格式类似。简明语法格式如下 -moz-radial-gradient(position, shape size, color-stop1, color-stop2, ……);提示上面两个私有函数的size参数值仅可设置关键字closest-side、closest-corner、farthest-side、farthest-corner、contain或cover。
【示例3】演示色点不均匀分布的径向渐变 style typetext/css#demo {height:200px;background: -webkit-radial-gradient(red 5%, green 15%, blue 60%); /* Safari 5.1 - 6.0 */background: -o-radial-gradient(red 5%, green 15%, blue 60%); /* Opera 11.6 - 12.0 */background: -moz-radial-gradient(red 5%, green 15%, blue 60%); /* Firefox 3.6 - 15 */background: radial-gradient(red 5%, green 15%, blue 60%); /* 标准语法 */}/stylediv iddemo/div2.4、定义重复径向渐变
使用repeating-radial-gradient()函数可以定义重复线性渐变用法与radial-gradient()函数相同。 【示例1】设计三色重复显示的径向渐变 style typetext/css#demo {height:200px;/* Safari 5.1 - 6.0 */background: -webkit-repeating-radial-gradient(red, yellow 10%, green 15%);/* Opera 11.6 - 12.0 */background: -o-repeating-radial-gradient(red, yellow 10%, green 15%);/* Firefox 3.6 - 15 */background: -moz-repeating-radial-gradient(red, yellow 10%, green 15%);/* 标准语法 */background: repeating-radial-gradient(red, yellow 10%, green 15%);}/stylediv iddemo/div【示例2】使用径向渐变同样可以创建条纹背景方法与线性渐变类似。设计圆形径向渐变条纹背景 #demo {height:200px;/* Safari 5.1 - 6.0 */background: -webkit-repeating-radial-gradient(center bottom, circle, #00a340, #00a340 20px, #d8ffe7 20px, #d8ffe7 40px);/* Opera 11.6 - 12.0 */background: -o-repeating-radial-gradient(center bottom, circle, #00a340, #00a340 20px, #d8ffe7 20px, #d8ffe7 40px);/* Firefox 3.6 - 15 */background: -moz-repeating-radial-gradient(center bottom, circle, #00a340, #00a340 20px, #d8ffe7 20px, #d8ffe7 40px);/* 标准语法 */background: repeating-radial-gradient(circle at center bottom, #00a340, #00a340 20px, #d8ffe7 20px, #d8ffe7 40px);}3、实战设计网页渐变色
为页面设计渐变背景可以营造特殊的浏览气氛。本例样式代码如下 body { /*让渐变背景填满整个页面*/padding: 1em;margin: 0;background: -webkit-linear-gradient(#FF6666, #ffffff); /* Safari 5.1 - 6.0 */background: -o-linear-gradient(#FF6666, #ffffff); /* Opera 11.1 - 12.0 */background: -moz-linear-gradient(#FF6666, #ffffff); /* Firefox 3.6 - 15 */background: linear-gradient(#FF6666, #ffffff); /* 标准语法 *//* IE滤镜兼容IE9-版本浏览器 */filter: progid:DXImageTransform.Microsoft.Gradient(gradientType0, startColorStr#FF6666, endColorStr#ffffff);}h1 {/* 定义标题样式 */color: white;font-size: 18px;height: 45px;padding-left: 3em;line-height: 50px; /* 控制文本显示位置 */border-bottom: solid 2px red;background: url(images/pe1.png) no-repeat left center; /*为标题插入一个装饰图标*/}p { text-indent: 2em; } /* 段落文本缩进2个字符 */