CSS3边框
新边框属性:
border-image 设置所有边框图像的速记属性。
border-radius 设置所有四个边框半径属性的属性。
四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角。
三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角。
两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角。
一个值: 四个圆角值相同。
border-shadow 附加一个或多个下拉框的阴影。
CSS3背景
background-image 添加背景图片。
不同的背景图像和图像用逗号隔开,所有的图片中显示在最顶端的为第一张。(可以给不同的图片设置多个不同的属性)
background-size 指定背景图像的大小。
background-origin 指定了背景图像的位置区域。
background-clip 从指定位置开始绘制。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
#rcorners1
{
background-image: url("140434.png");
background-position: right bottom,top;
background-repeat: no-repeat, repeat;
padding: 100px;
}
</style>
</head>
<body>
<p id="rcorners1">
</p>
</body>
</html>
CSS3渐变
CSS3 定义了两种类型的渐变(gradients):
线性渐变(Linear Gradients):向下/向上/向左/向右/对角方向
径向渐变(Radial Gradients):由它们的中心定义
为了创建一个线性渐变,你必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方向(或一个角度)。
方向:to bottom、to top、to right、to left、to bottom right等。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
#rcorners1
{
height: 200px;
background-color: red;
background-image: linear-gradient(#e66465, #9198e5)
}
</style>
</head>
<body>
<p id="rcorners1"></p>
</body>
</html>
为了创建一个径向渐变,你也必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
#rcorners1
{
height: 200px;
width: 500px;
background-color: red;
background-image: radial-gradient(#e66465 50%, #9198e5 30%)
}
</style>
</head>
<body>
<p id="rcorners1"></p>
</body>
</html>
CSS3 渐变也支持透明度(transparent),可用于创建减弱变淡的效果。
为了添加透明度,我们使用 rgba() 函数来定义颜色节点。
rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。
CSS3阴影
text-shadow属性适用于文本阴影。指定了水平阴影,垂直阴影,模糊的距离,以及阴影的颜色。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
h1{
text-shadow:5px 5px 5px yellow;
}
</style>
</head>
<body>
<h1>
今天很开心。
</h1>
</body>
</html>
box-shadow 属性适用于盒子阴影。
box-shadow 属性用来可以创建纸质样式卡片。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
div
{
width: 200px;
height: 100px;
background-color: pink;
box-shadow: 10px 10px 5px gray;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
CSS3字体
font-family 规定字体的名称。值为name.
src 定义字体文件的 URL。值为url.
font-stretch 定义如何拉伸字体。默认是 “normal”。
font-style 定义字体的样式。默认是 “normal”。
font-weight 定义字体的粗细。默认是 “normal”。
CSS3 2D转换
- translate() 方法
translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
eg. translate值(50px,100px)是从左边元素移动50个像素,并从顶部移动100像素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
div
{
width: 200px;
height: 100px;
background-color: pink;
border :1px solid cornflowerblue;
}
div#div2
{
transform:translate(50px,100px);
}
</style>
</head>
<body>
<div>Hello.</div>
<div id="div2">Hi.</div>
</body>
</html>
- rotate() 方法
rotate()方法,在一个给定度数顺时针旋转的元素。(当值为负值时,元素逆时针旋转.)
eg. rotate值(30deg)元素顺时针旋转30度。
div#div2
{
transform:rotate(30deg);
}
- scale() 方法
scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数。
scale(2,3)转变宽度为原来的2倍,宽度变为原来的3倍。
div
{
margin: 150px;
width: 200px;
height: 100px;
background-color: pink;
border :1px solid cornflowerblue;
transform: scale(2,3);
}
- skew() 方法
skew() 方法包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。
CSS3 3D转换
- rotateX()方法,围绕其在一个给定度数X轴旋转的元素。
- rotateY()方法,围绕其在一个给定度数Y轴旋转的元素。
- rotateZ()方法,围绕其在一个给定度数Z轴旋转的元素。
CSS3 过渡
CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。
需要指定要添加效果的CSS属性与效果的持续时间。
如果未指定期限,transition将没有任何效果,因为默认值是0。
要添加多个样式的变换效果,添加的属性由逗号分隔。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
div
{
width: 200px;
height: 100px;
background-color: pink;
transition: width 2s,height 2s,transform 2s;
}
div:hover{
width: 200px;
height: 200px;
transform: rotate(180deg);
}
</style>
</head>
<body>
<div>Hello.</div>
</body>
</html>
CSS3 动画
CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。
动画是使元素从一种样式逐渐变化为另一种样式的效果。可以改变任意多的样式任意多的次数。
要创建 CSS3 动画,需要了解 @keyframes 规则。
当在 @keyframes 创建动画,指定至少这两个CSS3的动画属性绑定向一个选择器:规定动画的名称及规定动画的时长,否则动画不会有任何效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
div
{
width: 200px;
height: 100px;
background: pink;
position: relative;
animation: myfirst 5s linear 2s infinite alternate;
}
@keyframes myfirst
{
0% {background: red;left: 1px;top:1px;}
25% {background: dodgerblue;left: 200px;top:1px;}
50% {background: pink;left: 200px;top:200px;}
75% {background: gold;left: 1px;top:200px;}
100% {background: red;left: 1px;top:1px;}
}
</style>
</head>
<body>
<div>Hello.</div>
</body>
</html>
CSS3 多列
多列属性:
CSS3 用户界面
- 调整尺寸
resize属性指定一个元素是否应该由用户去调整大小。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
div
{
border: 2px solid;
padding: 10px 40px;
width: 300px;
resize: both;
overflow: auto;
}
</style>
</head>
<body>
<div>Hello.</div>
</body>
</html>
- 调整方框大小
box-sizing 属性允许用户以确切的方式定义适应某个区域的具体内容。
box-sizing: content-box (默认): 高度和宽度只应用于元素的内容。
box-sizing: border-box: 高度和宽度应用于元素的所有部分: 内容、内边距和边框。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个网页</title>
<style>
#example1
{
box-sizing: content-box;
width: 300px;
height: 100px;
padding: 30px;
border: 10px solid lightpink;
}
#example2
{
box-sizing: border-box;
width: 300px;
height: 100px;
padding: 30px;
border: 10px solid lightpink;
}
</style>
</head>
<body>
<div id="example1">今天天气好晴朗。</div>
<div id="example2">今天天气好晴朗。</div>
</body>
</html>
- 外形修饰
outline-offset 属性对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。
(轮廓不占用空间、轮廓可能是非矩形)
div
{
margin: 20px;
width: 100px;
padding: 10px;
height: 70px;
border: 2px solid black;
outline: 2px solid red;
outline-offset: 15px;
}
CSS3 按钮
- 使用 background-color 属性来设置按钮颜色
- 使用 font-size 属性来设置按钮大小
- 使用 border-radius 属性来设置圆角按钮
- 使用 border 属性设置按钮边框颜色
- 使用 hover 选择器来修改鼠标悬停在按钮上的样式
- 使用 box-shadow 属性来为按钮添加阴影
<!DOCTYPE html>
<html lang="ss">
<head>
<meta charset="utf-8">
<title>第一个网页</title>
<style>
.button {
background-color: #4CAF50;
border: none;
color: white;
padding: 16px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
transition-duration: 0.4s;
cursor: pointer;
float: left;
}
.button1 {
background-color: white;
border-radius: 4px;
color: black;
border: 2px solid #4CAF50;
}
.button1:hover {
background-color: #4CAF50;
color: white;
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
}
</style>
</head>
<body>
<button class="button button1">Green</button>
<button class="button button1">Button</button>
<button class="button button1">Button</button>
<button class="button button1">Button</button>
</body>
</html>
CSS3 弹性盒子
CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。
引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。
弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。
弹性容器内包含了一个或多个弹性子元素。
弹性子元素通常在弹性盒子内一行显示。默认情况每个容器只有一行。
- flex-direction 属性指定了弹性子元素在父容器中的位置。
- justify-content 属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8">
<title>第一个网页</title>
<style>
.ss{
display: flex;
justify-content: center;
width: 400px;
height: 250px;
background-color: darkseagreen;
}
.sss{
background-color: blue;
width: 100px;
height: 100px;
margin: 10px;
}
</style>
</head>
<body>
<div class="ss">
<div class="sss">item1</div>
<div class="sss">item2</div>
<div class="sss">item3</div>
</div>
</body>
</html>
- align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="utf-8">
<title>第一个网页</title>
<style>
.ss{
display: flex;
flex-wrap: wrap;
width: 300px;
height: 250px;
background-color: darkseagreen;
}
.sss{
background-color: blue;
width: 100px;
height: 100px;
margin: 10px;
}
</style>
</head>
<body>
<div class="ss">
<div class="sss">item1</div>
<div class="sss">item2</div>
<div class="sss">item3</div>
</div>
</body>
</html>