CSS3样式实现盒子对象圆角、图片圆角效果
一、CSS3之border-radius圆角 DIV盒子圆角 图片圆角,CSS3样式实现盒子对象圆角、图片圆角效果。
1、DIVCSS3圆角单词:
border-radius
2、语法结构
div{border-radius:5px}
设置DIV对象盒子四个角5像素圆角效果
div{border-radius:5px 0;}
设置DIV对象盒子左上角和右下角5px圆角,其它两个角为0不圆角
div{border-radius:5px 5px 0 0;}
设置DIV对象盒子左上角和右上角5px圆角,其它两个角为0不圆角
3、说明:
border-radius:3px 4px 5px 6px
代表设置对象左上角3px圆角、右上角4px圆角、右下角5px圆角、左下角6px圆角。
圆角边框也可以使用百分比作为单位,比如:将一个正方形的圆角边框设置为50%,那么就会形成一个圆,不过使用百分比与像素并不能等效。
注意:百分比大于50%后,形状就不会再变化了,圆角的半径不能超过宽/高的一半。
二、边框图片 border-image
通过border-image 属性,您可以使用图片来创建边框:
border-image 属性允许您规定用于边框的图片!
使用图片创建围绕 div 元素的边框:
div{border-image:url(border.png) 30 30 round;}
三、box-shadow 用于向方框添加阴影:
div{box-shadow: 10px 10px 5px #888888;}
四、text-shadow 可向文本应用阴影。
您能够规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色:
向标题添加阴影:
h1{text-shadow: 5px 5px 5px #FF0000;}
五、渐变效果(Gradients)
CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。
以前,你必须使用图像来实现这些效果。但是,通过使用 CSS3 渐变(gradients),你可以减少下载的时间和宽带的使用。此外,渐变效果的元素在放大时看起来效果更好,因为渐变(gradient)是由浏览器生成的。
CSS3 定义了两种类型的渐变(gradients):
线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向
径向渐变(Radial Gradients)- 由它们的中心定义
为了创建一个线性渐变,你必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方向(或一个角度)。
语法
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
从上到下的线性渐变:
#grad {background-image: linear-gradient(#e66465, #9198e5);}
从左到右的线性渐变:
#grad {height: 200px;background-image: linear-gradient(to right, red , yellow);}
线性渐变 - 对角
你可以通过指定水平和垂直的起始位置来制作一个对角渐变。
下面的实例演示了从左上角开始(到右下角)的线性渐变。起点是红色,慢慢过渡到蓝色:
从左上角到右下角的线性渐变:
#grad {height: 200px;background-image: linear-gradient(to bottom right, red, yellow);}
使用角度
如果你想要在渐变的方向上做更多的控制,你可以定义一个角度,而不用预定义方向(to bottom、to top、to right、to left、to bottom right,等等)。
语法
background-image: linear-gradient(angle, color-stop1, color-stop2);
角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变。
重复的线性渐变
repeating-linear-gradient() 函数用于重复线性渐变:
一个重复的线性渐变:
#grad {background-image: repeating-linear-gradient(red, yellow 10%, green 20%);}
CSS3 径向渐变
径向渐变由它的中心定义。
为了创建一个径向渐变,你也必须至少定义两种颜色结点。颜色结点即你想要呈现平稳过渡的颜色。同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。
径向渐变的实例:
Radial gradient
语法
background-image: radial-gradient(shape size at position, start-color, ..., last-color);
径向渐变 - 颜色结点不均匀分布
颜色结点不均匀分布的径向渐变:
#grad {background-image: radial-gradient(red 5%, yellow 15%, green 60%);}
设置形状
shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。
形状为圆形的径向渐变:
#grad {background-image: radial-gradient(circle, red, yellow, green);}
不同尺寸大小关键字的使用
size 参数定义了渐变的大小。它可以是以下四个值:
closest-side
farthest-side
closest-corner
farthest-corner
带有不同尺寸大小关键字的径向渐变:
#grad1 {background-image: radial-gradient(closest-side at 60% 55%, red, yellow, black);}
#grad2 {background-image: radial-gradient(farthest-side at 60% 55%, red, yellow, black);}
重复的径向渐变
repeating-radial-gradient() 函数用于重复径向渐变:
一个重复的径向渐变:
#grad {background-image: repeating-radial-gradient(red, yellow 10%, green 15%);}
五、通过 CSS3,银杏视频APP下载网站入口可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。
CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。
要实现这一点,必须规定两项内容:
1、规定您希望把效果添加到哪个 CSS 属性上
2、规定效果的时长
div{transition: width 2s;}
注释:如果时长未规定,则不会有过渡效果,因为默认值是 0。
效果开始于指定的 CSS 属性改变值时。CSS 属性改变的典型时间是鼠标指针位于元素上时:
规定当鼠标指针悬浮于 <div> 元素上时:
div:hover{width:300px;}
注释:当指针移出元素时,它会逐渐变回原来的样式。
3、多项改变
如需向多个样式添加过渡效果,请添加多个属性,由逗号隔开:
向宽度、高度和转换添加过渡效果:
div{transition: width 2s, height 2s, transform 2s;}
六、RGBA 颜色
RGBA 颜色值是 RGB 颜色值的扩展,带有一个 alpha 通道 - 它规定了对象的不透明度。
RGBA 颜色值是这样规定的:rgba(red, green, blue, alpha)。alpha 参数是介于 0.0(完全透明)与 1.0(完全不透明)的数字。
p{background-color:rgba(255,0,0,0.5);}
七、Outline Offset
outline-offset 属性对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。
轮廓与边框有两点不同:
轮廓不占用空间
轮廓可能是非矩形
这个 div 在边框之外 15 像素处有一个轮廓。
规定边框边缘之外 15 像素处的轮廓:
div{border:2px solid black;outline:2px solid red;outline-offset:15px;}
八、CSS3 动画
当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。
通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
规定动画的名称
规定动画的时长
把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:
div{animation: myfirst 5s;}
注释:您必须定义动画的名称和时长。如果忽略时长,则动画不会允许,因为默认值是 0。
什么是 CSS3 中的动画?
动画是使元素从一种样式逐渐变化为另一种样式的效果。
您可以改变任意多的样式任意多的次数。
请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。
为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:
@keyframes myfirst
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}