十天精通CSS3(5)

background-origin

设置元素背景图片的原始起始位置

语法:

background-origin : border-box | padding-box | content-box;

参数分别表示背景图片是从边框,还是内边距(默认值),或者是内容区域开始显示。

效果如下:

需要注意的是,如果背景不是no-repeat,这个属性无效,它会从边框开始显示。

background-clip

用来将背景图片做适当的裁剪以适应实际需要。

语法:

background-clip : border-box | padding-box | content-box | no-clip

参数分别表示从边框、内填充,或者内容区域向外裁剪背景。no-clip表示不裁切,和参数border-box显示同样的效果。backgroud-clip默认值为border-box

效果如下图所示:

background-size

设置背景图片的大小,以长度值百分比显示,还可以通过covercontain来对图片进行伸缩。

语法:

background-size: auto | <长度值> | <百分比> | cover | contain

取值说明:

1、auto:默认值,不改变背景图片的原始高度和宽度;

2、<长度值>:成对出现如200px 50px,将背景图片宽高依次设置为前面两个值,当设置一个值时,将其作为图片宽度值来等比缩放

3、<百分比>:0%~100%之间的任何值,将背景图片宽高依次设置为所在元素宽高乘以前面百分比得出的数值,当设置一个值时同上;

4、cover:顾名思义为覆盖,即将背景图片等比缩放以填满整个容器

5、contain:容纳,即将背景图片等比缩放至某一边紧贴容器边缘为止

multiple backgrounds

多重背景,也就是CSS2里background的属性外加originclipsize组成的新background的多次叠加,缩写时为用逗号隔开的每组值;用分解写法时,如果有多个背景图片,而其他属性只有一个(例如background-repeat只有一个),表明所有背景图片应用该属性值。

语法缩写如下:

background : [background-color] | [background-image] | [background-position][/background-size] | [background-repeat] | [background-attachment] | [background-clip] | [background-origin],...

可以把上面的缩写拆解成以下形式:

background-image:url1,url2,...,urlN;

background-repeat : repeat1,repeat2,...,repeatN;
backround-position : position1,position2,...,positionN;
background-size : size1,size2,...,sizeN;
background-attachment : attachment1,attachment2,...,attachmentN;
background-clip : clip1,clip2,...,clipN;
background-origin : origin1,origin2,...,originN;
background-color : color;

注意:

  1. 用逗号隔开每组 background 的缩写值;
  2. 如果有 size 值,需要紧跟 position 并且用 "/" 隔开;
  3. 如果有多个背景图片,而其他属性只有一个(例如 background-repeat 只有一个),表明所有背景图片应用该属性值。
  4. background-color 只能设置一个。

举例:

有三张单独的图片:

使用多背景技术实现:

制作导航菜单综合练习题

小伙伴们,根据所学知识,使用CSS3实现下图的导航菜单效果

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS制作立体导航</title>
 6     <link rel="stylesheet" href="http://www.w3cplus.com/demo/css3/base.css">
 7     <style>
 8         body{
 9           background: #ebebeb;
10         }
11         .nav{
12           width:560px;
13           height: 50px;
14           font:bold 0/50px Arial;
15           text-align:center;
16           margin:40px auto 0;
17           background: #f65f57;
18           /*制作圆*/
19           border-radius:5px;
20           /*制作导航立体风格*/
21           box-shadow:0 5px 3px;
22
23         }
24         .nav a{
25           display: inline-block;
26           -webkit-transition: all 0.2s ease-in;
27           -moz-transition: all 0.2s ease-in;
28           -o-transition: all 0.2s ease-in;
29           -ms-transition: all 0.2s ease-in;
30           transition: all 0.2s ease-in;
31         }
32         .nav a:hover{
33           -webkit-transform:rotate(10deg);
34           -moz-transform:rotate(10deg);
35           -o-transform:rotate(10deg);
36           -ms-transform:rotate(10deg);
37           transform:rotate(10deg);
38         }
39
40         .nav li{
41           position:relative;
42           display:inline-block;
43           padding:0 16px;
44           font-size: 13px;
45           text-shadow:1px 2px 4px rgba(0,0,0,.5);
46           list-style: none outside none;
47         }
48         /*使用伪元素制作导航列表项分隔线*/
49         .nav li::before,.nav li::after{
50               content:"";
51               position:absolute;
52               top:14px;
53               height: 25px;
54               width: 1px;
55             }
56             .nav li::after{
57               right: 0;
58               background: -moz-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
59               background: -webkit-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
60               background: -o-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
61               background: -ms-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
62               background: linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255,.2) 50%, rgba(255,255,255,0));
63             }
64             .nav li::before{
65               left: 0;
66               background: -moz-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
67               background: -webkit-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
68               background: -o-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
69               background: -ms-linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
70               background: linear-gradient(top, #ff625a, #9e3e3a 50%, #ff625a);
71             }
72         /*删除第一项和最后一项导航分隔线*/
73         .nav li:first-child::before{
74               background: none;
75             }
76
77     .nav li:last-child::after{
78               background: none;
79             }
80
81         .nav a,
82         .nav a:hover{
83           color:#fff;
84           text-decoration: none;
85         }
86
87     </style>
88 </head>
89 <body>
90     <ul class="nav">
91         <li><a href="">Home</a></li>
92         <li><a href="">About Me</a></li>
93         <li><a href="">Portfolio</a></li>
94         <li><a href="">Blog</a></li>
95         <li><a href="">Resources</a></li>
96         <li><a href="">Contact Me</a></li>
97     </ul>
98 </body>
99 </html>

 

时间: 2024-08-24 00:12:50

十天精通CSS3(5)的相关文章

十天精通CSS3

课程地址:http://www.imooc.com/learn/33 第1章 初识CSS3 CSS3课程列出第一站,先带领大家进入CSS3的世界,探索CSS3的魅力!你做好准备了吗? 第2章 边框 本课程主要讲解border-color .border-image .border-radius 及box-shadow 相关知识 第3章 颜色相关 学习CSS3中与颜色有关的属性,包括RGBA colors和Gradient,来实现在此之前只能通过其它手段如背景图片才能得到的绚丽效果. 第4章 文字

十天精通CSS3(11)

Media Queries——媒体类型(一) 随着科学技术不断的向前发展,网页的浏览终端越来越多样化,用户可以通过:宽屏电视.台式电脑.笔记本电脑.平板电脑和智能手机来访问你的网站.尽管你无法保证一个网站在不同屏幕尺寸和不同设备上看起来完全一模一样,但至少要让你的Web页面能适配用户的终端,让他更好的呈现在你的用户面前.在本节中,将会学到如何使用CSS3中的Media Queries模块来让一个页面适应不同的终端(或屏幕尺寸),从而让你的页面让用户有一个更好的体验. Media Queries

十天精通CSS3(3)

颜色之RGBA RGB是一种色彩标准,是由红(R).绿(G).蓝(B)的变化以及相互叠加来得到各式各样的颜色.RGBA是在RGB的基础上增加了控制alpha透明度的参数. 语法: color:rgba(R,G,B,A) 以上R.G.B三个参数,正整数值的取值范围为:0 - 255.百分数值的取值范围为:0.0% - 100.0%.超出范围的数值将被截至其最接近的取值极限.并非所有浏览器都支持使用百分数值.A为透明度参数,取值在0~1之间,不可为负值. 代码示例: background-color

十天精通CSS3(7)

:enabled选择器 在Web的表单中,有些表单元素有可用(“:enabled”)和不可用(“:disabled”)状态,比如输入框,密码框,复选框等.在默认情况之下,这些表单元素都处在可用状态.那么我们可以通过伪选择器“:enabled”对这些表单元素设置样式. 示例演示 通过“:enabled”选择器,修改文本输入框的边框为2像素的红色边框,并设置它的背景为灰色. HTML代码: <form action="#">   <div>     <labe

十天精通CSS3(8)

变形--旋转 rotate() 旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转.它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度.如果这个值为正值,元素相对原点中心顺时针旋转:如果这个值为负值,元素相对原点中心逆时针旋转.如下图所示: HTML代码: <div class="wrapper"> <div></div> </div> CSS代码: .wrapper { width: 200px; height

十天精通CSS3(10)

多列布局——Columns 为了能在Web页面中方便实现类似报纸.杂志那种多列排版的布局,W3C特意给CSS3增加了一个多列布局模块(CSS Multi Column Layout Module).它主要应用在文本的多列布局方面,这种布局在报纸和杂志上都使用了几十年了,但要在Web页面上实现这样的效果还是有相当大的难度,庆幸的是,CSS3的多列布局可以轻松实现.接下来咱们一起学习多列布局相关的知识. 语法: columns:<column-width> || <column-count&

十天精通CSS3学习笔记 part4

CSS3中的变形与动画(下) CSS3 Keyframes介绍 Keyframes 被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后面紧跟着是动画名称加上一对花括号"{-}",括号中就是一些不同时间段样式规则. @keyframes changecolor{ 0%{ background: red; } 100%{ background: green; } } 在一个"@keyframes"中的样式

十天精通CSS3学习笔记

http://www.imooc.com/learn/33 什么是CSS3? CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari.firefox.opera.甚至360都已经支持了CSS3大部分功能了,IE10以后也开始全面支持CSS3了. 在编写CSS3样式时,不同的浏览器可能需要不同的前缀.它表示该CSS属性或规则尚未成为W3C标准的一部分,是浏览器的私有属性,虽然目前较新版本的浏览器都是不需要前缀的,但为了

十天精通CSS3(4)

text-overflow 与 word-wrap text-overflow用来设置是否使用一个省略标记(...)标示对象内文本的溢出. 语法: 但是text-overflow只是用来说明文字溢出时用什么方式显示,要实现溢出时产生省略号的效果,还须定义强制文本在一行内显示(white-space:nowrap)及溢出内容为隐藏(overflow:hidden),只有这样才能实现溢出文本显示省略号的效果,代码如下: text-overflow:ellipsis;  overflow:hidden