CSS3笔记
CSS3边框
圆角边框:border-radius:Xpx
1 | div |
像素值定义的是圆角的半径,像素值越大,圆角越明显。百分比也可以定义圆角的半径
如果只要其中一边的圆角则:
1 | border-top-left-radius:2em; |
边框阴影:
1 | box-shadow:Xpx(距离垂直边框的宽度) Ypx(距离上边框的宽度)Zpx(阴影的强重程度,如果越小,阴影越重,越大,阴影越小,越透明越模糊) #XXXXXX(阴影的颜色) |
边框图片
1 | 例如: |
后面可以加的值为:
1 | ength 设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会被设置为 “auto”。 |
多重背景图片:background-image:url(bg_flower.gif),url(bg_flower_2.gif);
直接添加要设置的背景图片
1 | background-origin 属性: |
总结:
1 | background-clip 规定背景的绘制区域。 |
CSS3文本效果
文本阴影:
能够规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色:
例如:
1 | h1 |
自动换行word-wrap属性
在 CSS3 中,word-wrap 属性允许您允许文本强制文本进行换行 - 即使这意味着会对单词进行拆分。
新的文本属性:
1 | hanging-punctuation 规定标点字符是否位于线框之外。 |
CSS3字体
CSS3 @font-face 规则
在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体。通过 CSS3,web 设计师可以使用他们喜欢的任意字体。当您找到或购买到希望使用的字体时,可将该字体文件存放到 web 服务器上,它会在需要时被自动下载到用户的计算机上。
我们“自己的”的字体是在 CSS3 @font-face
规则中定义的。
在新的@font-face
规则中,您必须首先定义字体的名称(比如 myFirstFont),然后指向该字体文件。如需为 HTML 元素使用字体,请通过 font-family 属性来引用字体的名称 (myFirstFont):
1 | < style> |
注意:这是在定义完了以后添加的另一个@font-face
,但是定义和加粗必须是两个独立的定义,不能合并和省略。
使用两个独立的都要单独定义的方法还可以定义许多其他的文本格式,最重要的都是要独立定义,且是在使用该字体的时候,如果我们要进行文本的加粗或者强调,就直接调用就好了。
列出了能够在 @font-face
规则中定义的所有字体描述符:
1 | font-family name 必需。规定字体的名称。 |
CSS3 2D转换
通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。转换是使元素改变形状、尺寸和位置的一种效果。
2D转换包括translate()、rotate()、scale()、skew()、matrix()
四种
调用格式为:
1 | transform: (选择的属性)(值); |
rotate 旋转
通过rotate()
方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。
1 | div |
值 rotate(30deg) 把元素顺时针旋转 30 度。
translate转换
通过translate()
方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数
1 | div |
值translate(50px,100px)
把元素从左侧移动 50 像素,从顶端移动 100 像素
scale转换
通过scale()
方法,元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数:
1 | div |
值 scale(2,4) 把宽度转换为原始尺寸的 2 倍,把高度转换为原始高度的 4 倍。按倍数来选择
matrix() 方法
matrix() 方法把所有 2D 转换方法组合在一起。
matrix() 方法需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。
1 | div |
新的转换属性:
1 | transform 向元素应用 2D 或 3D 转换。 |
CSS3 3D转换
允许使用 3D 转换来对元素进行格式化。rotateX()
、rotateY()
调用格式为:
1 | transform: (选择的属性)(值); |
rotateX()方法
通过 rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转。
1 | div |
rotateY() 旋转
通过 rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转。
1 | div |
CSS3 过渡
通过 CSS3,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。
要实现这一点,必须规定两项内容:规定把效果添加到哪个 CSS 属性上、规定效果的时长
应用于宽度属性的过渡效果,时长为 2 秒
1 | div |
多项改变
如需向多个样式添加过渡效果,请添加多个属性,由逗号隔开:
1 | div |
总结:
列出所有的过度属性;
1 | transition 简写属性,用于在一个属性中设置四个过渡属性。 |
CSS3 动画
规则
通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。@keyframes 规则用于创建动画。
在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
规定动画的名称、规定动画的时长
必须定义动画的名称和时长。如果忽略时长,则动画不会允许,因为默认值是 0
什么是 CSS3 中的动画?
动画是使元素从一种样式逐渐变化为另一种样式的效果。我们可以改变任意多的样式任意多的次数。请用百分比来规定变化发生的时间,或用关键词 “from” 和 “to”,等同于 0% 和 100%。0% 是动画的开始,100% 是动画的完成。为了得到最佳的浏览器支持,我们应该始终定义 0% 和 100% 选择器。
当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:
1 | @keyframes myfirst |
改变背景色和位置:
1 | @keyframes myfirst |
总结:
1 | @keyframes |
CSS3 多列
能够创建多个列来对文本进行布局 - 就像报纸那样!
1 | column-count |
属性表
1 | column-count 规定元素应该被分隔的列数。 |
用户界面
在 CSS3 中,新的用户界面特性包括重设元素尺寸、盒尺寸以及轮廓等。
CSS3 Resizing
在 CSS3,resize 属性规定是否可由用户调整元素尺寸。
代码:
1 | div |
CSS3 Box Sizing
box-sizing 属性允许您以确切的方式定义适应某个区域的具体内容。
代码:
1 | div |
CSS3 Outline Offset
outline-offset
属性对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。
轮廓与边框有两点不同:轮廓不占用空间、轮廓可能是非矩形
代码:
1 | div |
新的用户界面属性:
1 | appearance 允许您将元素设置为标准用户界面元素的外观 |