`

CSS3笔录

    博客分类:
  • CSS
CSS 
阅读更多

今天开始总结CSS3,很多东西在CSS笔录里都介绍过,所以这里做下精简即可,具体内容如下

 

【目录】

CSS3 被划分为模块,其中最重要的 CSS3 模块包括:

选择器,框模型,背景和边框,文本效果,2D/3D 转换,动画,多列布局,用户界面

下面来依次介绍

 

【详解】

(一)CSS3边框

边框属性:border-radius,box-shadow,border-image

①border-radius,box-shadow:

【兼容】

IE9+ 支持 border-radius 和 box-shadow 属性,Firefox、Chrome 以及 Safari 支持所有新的边框属性;

对于 border-image,Safari 5 以及更老的版本需要前缀 -webkit-;

Opera 支持 border-radius 和 box-shadow 属性,但是对于 border-image 需要前缀 -o-;

关于IE兼容CSS3的方案,我在之前文章http://570109268.iteye.com/blog/2407664里做过总结

【注意】

对于兼容IE写法有许多不足之处,.htc文件引入可以解决许多CSS3问题,例如边框阴影。但是无法调整颜色及无法设置内外阴影效果;

还有另外的一种针对IE的写法:

filter: progid(进程id):DXImageTransform(DX图像转变).Microsoft(微软).Shadow(阴影)
(color='#969696', Direction=135阴影角度, Strength=5阴影半径);/*for ie6,7,8*/ 

缺点很明显,就是无法单独设置某边的阴影及无法设置内外阴影效果;

②border-image:

【兼容】

IE11+,Firefox,Opera 15, Chrome 以及 Safari 6 支持 border-image 属性

Safari 5 支持替代的 -webkit-border-image 属性

【内容】

border-image 属性是一个简写属性,用于设置以下属性:

border-image-source路径,border-image-slice向内偏移,border-image-width宽度,

border-image-outset边框图像区域超出边框的量,border-image-repeat平铺(repeated)、铺满(rounded)或拉伸(stretched)

 

(二)背景

背景属性background-size,background-origin等

①background-origin背景起源

【兼容】IE9+及其他主流浏览器均支持

规定背景图片的定位区域,背景图片可以放置于 content-box、padding-box 或 border-box 区域

②background-clip背景修剪

【兼容】IE8+及其他主流浏览器均支持

规定背景的绘制区域,属性值:

border-box 背景被裁剪到边框盒

padding-box 背景被裁剪到内边距框

content-box 背景被裁剪到内容框

③background-size背景尺寸

规定背景图像的尺寸,语法:

background-size: length(具体像素级宽高)|percentage(百分比设置宽高)|

cover(扩展覆盖,但显示不全)|contain(扩展到刚好适合内容区域);

 

(三)文本效果

文本属性text-shadow,word-wrap

【兼容】

IE10+及其他主流浏览器均支持

①text-shadow 文本阴影效果

②word-wrap 强制文本进行换行 - 即使这意味着会对单词进行拆分

③word-break 规定自动换行的处理方法,可以让浏览器实现在任意位置的换行

④text-overflow 规定当文本溢出包含元素时发生的事情

text-overflow: clip(修剪文本)|ellipsis(省略号)|string(给定字符替代);

 

(四)字体

 @font-face 规则

【兼容】

IE8+及其他主流浏览器均兼容

【语法】

在新的 @font-face 规则中,首先定义字体的名称(比如 myFirstFont),然后指向该字体文件

例如,为 HTML 元素使用字体先通过 font-family 属性来引用字体的名称 (myFirstFont)

<style type="text/css"> 
@font-face{
font-family: myFirstFont;
src: url('Sansation_Light.ttf'),
     url('Sansation_Light.eot'); /* IE9+ */
}
div{
font-family:myFirstFont;
}
</style>

 在 @font-face 规则中定义的所有字体描述符:

font-family name 必需。规定字体的名称。
src URL 必需。定义字体文件的 URL。
font-stretch
  • normal
可选。定义如何拉伸字体。默认是 "normal"。
font-style
  • ormal
  • italic
  • oblique
可选。定义字体的样式。默认是 "normal"。
font-weight
  • normal
  • bold
  • 100-900
可选。定义字体的粗细。默认是 "normal"。
unicode-range字符编码 unicode-range 可选。定义字体支持的 UNICODE 字符范围。默认是 "U+0-10FFFF"。

 

 (五)2D转换transform

 通过 CSS3 转换,能够对元素进行移动、缩放、转动、拉长或拉伸。

【兼容】

IE9 需要前缀 -ms-,Chrome 和 Safari 需要前缀 -webkit-,IE10+、Firefox 以及 Opera 支持 transform 属性

【 2D 转换方法】

translate移动,rotate旋转,scale缩放,skew倾斜,matrix矩阵变换

以上除了矩阵变换matrix(),其他属性我之前都做过总结

关于矩阵变换我在后面文章http://570109268.iteye.com/admin/blogs/2410928里做介绍

【转换属性】

transform 向元素应用 2D 或 3D 转换。
transform-origin 允许你改变被转换元素的位置。

 

 (六)3D 转换

3D 转换方法:rotateX(),rotateY()

【兼容】

 IE10和Firefox支持3D转换,Chrome和Safari需要前缀-webkit-,Opera仍然不支持 3D 转换(它只支持 2D 转换)

①rotateX() 方法

元素围绕其 X 轴以给定的度数进行旋转

②rotateY() 旋转

元素围绕其 Y 轴以给定的度数进行旋转

转换属性:

transform 向元素应用 2D 或 3D 转换
transform-origin 允许你改变被转换元素的位置
transform-style 规定被嵌套元素如何在 3D 空间中显示
perspective 规定 3D 元素的透视效果
perspective-origin 规定 3D 元素的底部位置
backface-visibility 定义元素在不面对屏幕时是否可见

 

 (七)CSS3过渡

【兼容】

IE10+、Firefox、Chrome 以及 Opera 支持 transition 属性,Safari 需要前缀 -webkit-,Chrome 25 以及更早的版本,需要前缀 -webkit-

【注意】如果时长未规定,则不会有过渡效果,因为默认值是 0

【应用】

多项改变:如需向多个样式添加过渡效果,请添加多个属性,由逗号隔开

div{
transition: width 2s, height 2s, transform 2s;
-moz-transition: width 2s, height 2s, -moz-transform 2s;
-webkit-transition: width 2s, height 2s, -webkit-transform 2s;
-o-transition: width 2s, height 2s,-o-transform 2s;
}

 

(八)动画

创建动画需要@keyframes 规则,在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果

【兼容】

IE10+、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性,Chrome 和 Safari 需要前缀 -webkit-

【内容】 

一般用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%

0% 是动画的开始,100% 是动画的完成

为了得到最佳的浏览器支持,推荐始终定义 0% 和 100% 选择器

 

 (九)多列(像报纸排版)

多列属性:column-count列数,column-gap间隙,column-rule规则

【兼容】

IE10+和Opera支持多列属性,Firefox 需要前缀 -moz-,Chrome 和 Safari 需要前缀 -webkit-

【内容】

①column-count列数

规定元素应该被分隔的列数,例如把 div 元素中的文本分隔为三列:

div{
-moz-column-count:3; 	/* Firefox */
-webkit-column-count:3; /* Safari 和 Chrome */
column-count:3;
}

 ②column-gap列隙

规定列之间的间隔,例如规定列之间 40 像素的间隔:

<style type="text/css"> 
.newspaper{
-moz-column-count:3; /* Firefox */
-webkit-column-count:3; /* Safari and Chrome */
column-count:3;
-moz-column-gap:30px; /* Firefox */
-webkit-column-gap:30px; /* Safari and Chrome */
column-gap:30px;
}
</style>

 ③column-rule列规则

设置列之间的宽度、样式和颜色规则,例如规定列之间的宽度、样式和颜色规则:

div{
-moz-column-rule:3px outset #ff0000;	/* Firefox */
-webkit-column-rule:3px outset #ff0000;	/* Safari and Chrome */
column-rule:3px outset #ff0000;
}
column-count 规定元素应该被分隔的列数。
column-fill 规定如何填充列。
column-gap 规定列之间的间隔。
column-rule 设置所有 column-rule-* 属性的简写属性。
column-rule-color 规定列之间规则的颜色。
column-rule-style 规定列之间规则的样式。
column-rule-width 规定列之间规则的宽度。
column-span 规定元素应该横跨的列数。
column-width 规定列的宽度。
columns 规定设置 column-width 和 column-count 的简写属性。

 

 

(十)用户界面

在 CSS3 中,新的用户界面特性包括重设元素尺寸、盒尺寸以及轮廓等。

用户界面属性:resize,box-sizing,outline-offset轮廓偏移

 【兼容】

①resize调整属性:除IE和Opera外,其他浏览器均兼容

②box-sizing主流浏览器均兼容,火狐需要加hack写法-moz-box-sizing

③outline-offset轮廓偏移,除IE外,其他浏览器均兼容

 

 

【拓展】

①.htc

IE利用VML矢量可标记语言作为画笔绘出圆角:下载一个压缩包ie-css3.htc,里面有一个微软的脚本文件(11KB)和一个用来测试服务器是否有正确的Content-Type的 HTML文件,.htc 文件是IE内核支持Web行为后用来描述此类行为的脚本文件。它们定义了一套方法和属性,程序员几乎可以把这些方法和属性应用到HTML页面上的任何元素上去

②自动换行 word-break:break-all和word-wrap:break-word区别

       word-break:break-all

       例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。

       word-wrap:break-word

      例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。

 

 

 

 

 

 

.

分享到:
评论

相关推荐

    css3参考手册

    **CSS3参考手册详解** CSS3(层叠样式表第三版)是Web设计领域中一个重要的里程碑,它扩展了CSS2.1的功能,引入了许多新的特性和改进,为网页设计师提供了更为丰富的表现力和控制力。这篇详尽的指南将深入解析CSS3...

    Three.js前端3D开发:使用CSS3DRenderer渲染全景图

    在本主题中,我们将深入探讨如何使用 Three.js 的 CSS3DRenderer 来渲染全景图,这是一种将3D对象与CSS3变换相结合的技术,能够实现高效且性能良好的3D效果。 首先,CSS3DRenderer 是 Three.js 提供的一个渲染器,...

    iecss3.htc css3圆角支持文件

    iecss3.htc css3圆角支持文件

    CSS3星系轨道3D环绕旋转代码

    【CSS3星系轨道3D环绕旋转代码】是一种利用CSS3的强大功能来创建动态视觉效果的技术。在这一项目中,开发者巧妙地运用了CSS3的`animation`、`transform`和`transition`属性,构建了一个模拟星系中星球环绕轨道3D旋转...

    CSS3 3D卡片层叠动画

    CSS3提供了很多属性可以实现3D效果,之前我们也分享过一些基于CSS3和HTML5的卡片动画,例如这个纯CSS3实现可感知方向的卡片翻转动画和CSS3实现答题卡片抽取切换动画。这次我们给大家带来另一款基于CSS3的卡片层叠...

    CSS3图片画廊效果

    【CSS3图片画廊效果】是一种利用现代浏览器支持的CSS3特性来实现的网页中图片展示的创新方式。CSS3的引入为网页设计带来了许多新的可能性,包括过渡、动画、多列布局、阴影、渐变以及选择器增强等,使得图片画廊可以...

    HTML 与 CSS3 各种文档

    CSS3是CSS的最新版本,它带来了许多新的选择器、布局模型和视觉效果。"05 CSS3.0中文参考手册(飘零雾雨版).chm"、"03 CSS 中文参考手册(飘零雾雨办).chm"、"08 CSS 3.0参考手册.chm"、"07 CSS3.0(腾讯ISD版)....

    ie-css3.htc 免费版

    《IE浏览器支持CSS3属性:ie-css3.htc详解》 在互联网技术发展的历程中,CSS3作为一种强大的样式表语言,极大地丰富了网页设计的可能性,提供了诸如圆角、阴影、渐变等美观效果。然而,早期版本的Internet Explorer...

    纯css3炫酷粒子动画特效

    【CSS3炫酷粒子动画特效】是一种利用现代浏览器对CSS3特性的支持,通过编程方式创建出视觉上引人入胜的动态效果。这个特效主要依赖于CSS3的动画(Animations)和转换(Transforms)特性,以及可能的伪元素(Pseudo-...

    css3.0参考手册 css3.0参考手册

    css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css3.0参考手册css...

    CSS权威指南 css彻底设计研究 HTML5和CSS3实战 HTML5与CSS3设计模式

    此外,通过实际案例,读者将学习如何结合CSS3的新功能,如多列布局、渐变、阴影、边框半径、转换和动画,以提升网页的视觉效果和用户体验。 最后,"HTML5与CSS3设计模式"关注的是这两种技术的创新设计思路。设计...

    Web前端HTML5 CSS3初学者零基础入门全套学习笔记.zip

    Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门全套学习笔记 Web前端HTML5 CSS3初学者零基础入门...

    纯css3-球形3d旋转-多图3d球形旋转

    在IT行业中,CSS3是一种强大的样式表语言,用于定义网页的布局、颜色、字体等视觉效果。本项目“纯css3-球形3d旋转-多图3d球形旋转”着重展示了如何利用CSS3的特性来实现一个动态的、三维球形的图像旋转展示效果。...

    《CSS3实用指南》源码

    《CSS3实用指南》源码是一份非常宝贵的资源,它涵盖了从第二章到第七章的全部CSS3实际应用示例。这份源码旨在帮助开发者深入理解CSS3的新特性,提升网页设计与布局的能力。以下是对这些章节中涉及的CSS3知识点的详细...

    CSS和CSS3思维导图(xmind版)

     一个css与css3都有效的code,如果浏览器不支持css3,那么只会以css的样式显示。最常见的就是圆弧角。一个只在css3中有效的code,如果浏览器不支持css3,那么其显示效果就不会出现。 css3和css,在编写code的时候,...

    CSS3D.js, 用于 Three.js的CSS 3D 渲染器.zip

    CSS3D.js, 用于 Three.js的CSS 3D 渲染器 CSS3D.js由 Steven Wittens 用于 Three.js的CSS 3D 渲染器注意:这个库现在已经过时了,因为 Three.js 拥有自己的CSS 3D 呈现器插件,它集成在一个更清晰的样式中。...

    css3-弹出窗口弹出效果

    在IT领域,CSS3是一种强大的样式表语言,用于定义网页的布局、颜色、字体等视觉效果。本主题聚焦于“css3-弹出窗口弹出效果”,这涉及到网页交互设计中的一个重要方面,即如何通过CSS3实现吸引用户的动态提示或信息...

    纯HTML5和CSS3实现高仿小米商城源码.zip

    高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3实现 高仿小米商城,纯HTML5和CSS3...

    CSS3、1000+案例.zip

    【CSS3】是一种强大的网页样式语言,用于定义网页元素的布局、颜色、字体和其他视觉表现。相较于CSS2,CSS3引入了许多新特性,使得网页设计更为动态和交互性更强。 【案例】是学习和理解技术的实用方法。在这个...

Global site tag (gtag.js) - Google Analytics