CSS3是学习前端必学的知识。在学习CSS3的初期,我们需要掌握一些能带给我们成就感的基础知识,这里就给大家用实例来讲解CSS3最常用的基础知识,让大家快速上手。
颜色之RBGA
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:rgba(100,120,60,0.5);
5.渐变色彩CSS3 Gradient 分为线性渐变与径向渐变;
参数:
第一个参数:指定渐变方向,可以用“角度”的关键词或“英文”来表示:
第一个参数省略时,默认为“180deg”,等同于“to bottom”。
第二个和第三个参数,表示颜色的起始点和结束点,可以有多个颜色值。
background-image:linear-gradient(to left, red, orange,yellow,green,blue,indigo,violet);
效果图:
text-overflow与word-wrapa.text-overflow 用来设置是否使用一个省略号来标示对象文本的溢出
语法:
text-overflow只是用来说明文字溢出时用什么方式显示,要实现溢出时实现省略号的效果,还需定义:
1.强制文本在一行内显示
2.溢出内容问隐藏
代码如下:
text-overflow:ellipsis; overflow:hidden; white-space:nowrap;
word-wrap也可以用来设置文本行为,当前行超过指定容器的边界时是否断开转行
normal为浏览器默认值,break-word设置在长单词或 URL地址内部进行换行,此属性不常用,用浏览器默认值即可。
嵌入字体@font-face
语法:
@font-face { font-family : 字体名称; src : 字体文件在服务器上的相对或绝对路径;}
这样设置之后,就可以像使用普通字体一样在(font-)中设置字体样式。
比如:
p { font-size :12px; font-family : "My Font";/必须项,设置@font-face中font-family同样的值*/}
文本阴影text-shadow
用于设置文本的阴影效果
语法:
text-shadow: X-Offset Y-Offset blur color;
X-Offset:表示阴影的水平偏移距离,其值为正值时阴影向右偏移,反之向左偏移;
Y-Offset:是指阴影的垂直偏移距离,如果其值是正值时,阴影向下偏移,反之向上偏移;
Blur:是指阴影的模糊程度,其值不能是负值,如果值越大,阴影越模糊,反之阴影越清晰,如果不需要阴影模糊可以将Blur值设置为0;
Color:是指阴影的颜色,其可以使用rgba色。
比如,我们可以用下面代码实现设置阴影效果。
text-shadow: 0 1px 1px #fff;
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
设置背景图的大小,以长度或者百分比显示,还可以通过cover和contain来对图片进行伸缩
语法:
background-size: auto | <长度值> | <百分比> | cover | contain
取值说明:
1、auto:默认值,不改变背景图片的原始高度和宽度;
2、<长度值>:成对出现如200px 50px,将背景图片宽高依次设置为前面两个值,当设置一个值时,将其作为图片宽度值来等比缩放;
3、<百分比>:0%~100%之间的任何值,将背景图片宽高依次设置为所在元素宽高乘以前面百分比得出的数值,当设置一个值时同上;
4、cover:顾名思义为覆盖,即将背景图片等比缩放以填满整个容器;
5、contain:容纳,即将背景图片等比缩放至某一边紧贴容器边缘为止。
multiple backgrounds
多重背景,也就是css2里background属性外加origin,clip,size的叠加,缩写时为逗号隔开的分组值,用分解写法时,如果有多个背景图片,而其他属性只有一个(例如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;
注意:
用逗号隔开每组 background 的缩写值;
如果有 size 值,需要紧跟 position 并且用 "/" 隔开;
如果有多个背景图片,而其他属性只有一个(例如 background-repeat 只有一个),表明所有背景图片应用该属性值。
background-color 只能设置一个。
综合练习
body{ background: #ebebeb;}.nav{ width:560px;
height: 50px; font:bold 0/50px Arial;
text-align:center;
margin:40px auto 0;
background: #f65f57; /*制作圆*/ border-radius:10px; /*制作导航立体风格*/
box-shadow:0px 5px 0 #B64B41;}
.nav a{ display: inline-block;
-webkit-transition: all 0.2s ease-in;
-moz-transition: all 0.2s ease-in;
-o-transition: all 0.2s ease-in;
-ms-transition: all 0.2s ease-in;
transition: all 0.2s ease-in;}
.nav a:hover{ -webkit-transform:rotate(10deg);
-moz-transform:rotate(10deg);
-o-transform:rotate(10deg);
-ms-transform:rotate(10deg);
transform:rotate(10deg);}
.nav li{ position:relative; display:inline-block; padding:0 16px; font-size: 13px; text-shadow:1px 2px 4px rgba(0,0,0,.5);
list-style: none outside none;
background:linear-gradient(to bottom,#dd2926,#a82724,#dd2926) no-repeat right / 1px 15px;/*使用伪元素制作导航列表项分隔线*/}
/*删除第一项和最后一项导航分隔线*/
.nav li:last-child{ background:none; }
.nav a,.nav a:hover{ color:#fff; text-decoration: none;}</style></head><body><ul>
<li><a href="">Home</a></li>
<li><a href="">About Me</a></li>
<li><a href="">Portfolio</a></li>
<li><a href="">Blog</a></li>
<li><a href="">Resources</a></li>
<li><a href="">Contact Me</a></li></ul></body></html>
原文来自:简书/Leisure_blogs