博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5个CSS3技术实现设计增强
阅读量:6625 次
发布时间:2019-06-25

本文共 3847 字,大约阅读时间需要 12 分钟。

层叠样式表(css)是Web设计的一种语言,CSS的下一代版本CSS3已经蓄势待发。你是否可望开始使用它们却又不知从何下手呢?虽然还有一些新属性没有得到官方的确认,但是一些浏览器已经开始支持来自CSS3得新特性了。

   但问题是——许多浏览器支持了,唯独最主要的Internet Explorer浏览器仍不支持!
   很多人尤其是中国的前端er们会觉得既然IE不支持,那就先不关心CSS3。其实不应这样的,CSS3现在能为我们带来什么好处呢?至少现在我们就能使用那些CSS3的新特性来进行设计增强.设计增强是指在不影响网站可用性的基础上,使用一些高级样式来提升网站的视觉效果。

其实对于如何区分设计增强与不影响可用性的区别还是有一定的困难的:

  • 设计增强的例子:使用border-radius属性为盒模型添加圆角,让网站更富有吸引力。不过,即使圆角属性不被浏览器支持,它也不会影响网站的正常使用。
  • 设计消弱可用性的例子:在某个元素上面层叠了一个使用了RGBA颜色值背景的元素,上面的元素使用半透明效果,很显然这两个元素都是必须让用户看到的。很显然,有一部分使用旧浏览器的用户想要看到下面的元素内容是很困难的,这种设计就降低了可用性。

一同学习5个不同的CSS3属性,如果从现在起你就开始尝试在你的网站中使用它们,那你将让你的网站实现既设计增强又不会消弱可用性

 以下是在应用CSS3设计增强之前的普通效果:

css3-新特性

1.透明颜色

目前支持的浏览器:Apple Safari 4, Firefox 3.0.5+, Google Chrome 1+

RGBA允许你控制某个特性填充颜色的不透明度,无论是文本、背景、边框还是背景颜色。

设置颜色透明度的时候,你需要使用RGB颜色值,不可以再使用十六进制值,而那个”A”则代表透明度,你可以设置从0(透明)到1(不透明)之间的数值。

1
rgba
(
0-
255
,
0-
255
,
0-
255
,
0-
1
)

你还可以单独使用RGB值:

1
2
3
4
5
6
7
8
.topbox 
{
color
: 
rgb
(
235
,
235
,
235
)
;
color
: rgba
(
255
,
255
,
255
,
0.75
)
;
background-color
: 
rgb
(
153
,
153
,
153
)
;
background-color
: rgba
(
0
,
0
,
0
,
0.5
)
;
border-color
: 
rgb
(
235
,
235
,
235
)
;
border-color
: rgba
(
255
,
255
,
255
,
0.65
)
;
}

有个好消息就是至少你可以使用CSS滤镜单独针对IE浏览器设置背景颜色。

点击图片查看清晰大图
注:由于Wordpress不能显示以上代码,所以将其弄成图片,所以你需要自行写以上代码了哦。

css3-教程

2.圆角

目前支持的浏览器:Apple Safari 3+, Firefox 1+, Google Chrome 1+

边框半径用于设置和模型每个角的曲率,仿佛有一对与特定的角落虚圆半径(r):

1
border-radius
: r
;

虽然border-radius是未来CSS3的一部分,不过现在无论Mozilla(Firefox)和Webkit(Safari和Chrome)都已经有了自己的圆角版本。

1
2
3
-webkit-border-radius
: 
10px
;
-moz-border-radius
: 
10px
;
border-radius
: 
10px
;

你也可以单独设置某个角的半径:

CSS3

Mozilla

WebKit

border-top-right-radius

-moz-border-radius-topright

-webkit-border-top-right-radius

border-bottom-right-radius

-moz-border-radius-bottomright

-webkit-border-bottom-right-radius

border-bottom-left-radius

-moz-border-radius-bottomleft

-webkit-border-bottom-left-radius

border-top-left-radius

-moz-border-radius-topleft

-webkit-border-top-left-radius

border-radius

-moz-border-radius

-webkit-border-radius

css3-教程

3.文字阴影

目前支持的浏览器:Apple Safari 3+, Firefox 3.0.5+, Google Chrome 1+

为文本添加阴影效果,控制阴影左/右和上/下的偏移,还可以设置阴影的颜色。

1
text-shadow
: x y blur 
color
;

你可以结合透明颜色值来设置文字阴影的明暗:

1
text-shadow
: 
-2px 
2px 
10px rgba
(
0
,
0
,
0
,.5
)
;

你还可以让文字有多个阴影,每个阴影属性使用逗号分隔:

1
2
text-shadow
: 
0 
0 
10px rgba
(
0
,
255
,
0
,.5
)
, 
-10px 
5px 
4px rgba
(
0
,
0
,
255
,.45
)
, 
15px 
-4px 
3px rgba
(
255
,
0
,
0
,.75
)
;

css3-实例

4.盒阴影

目前支持的浏览器:Apple Safari 4+, Firefox 3+, Google Chrome 1+

为某个和元素添加阴影的CSS3属性声明格式与文本阴影相同:

1
box-shadow
: x y blur 
color
;

和文本阴影一样,Mozilla 和 Webkit 也有他们自己的盒阴影规则:

1
2
3
-webkit-box-shadow
: 
0 
0 
10px 
rgb
(
0
,
0
,
0
)
;
-moz-box-shadow
: 
0 
0 
10px 
rgb
(
0
,
0
,
0
)
;
box-shadow
: 
0 
0 
10px 
rgb
(
0
,
0
,
0
)
;

你也可以为某个盒元素添加多个阴影,仍然是使用逗号分隔。

1
2
3
4
5
6
-webkit-box-shadow
: 
0 
0 
20px 
rgb
(
0
,
255
,
0
)
, 
-10px 
5px 
4px rgba
(
0
,
0
,
255
,.45
)
, 
15px 
-20px 
20px rgba
(
255
,
0
,
0
,.75
)
;
-moz-box-shadow
: 
0 
0 
20px 
rgb
(
0
,
255
,
0
)
, 
-10px 
5px 
4px rgba
(
0
,
0
,
255
,.45
)
,
15px 
-20px 
20px rgba
(
255
,
0
,
0
,.75
)
;
box-shadow
: 
0 
0 
20px 
rgb
(
0
,
255
,
0
)
, 
-10px 
5px 
4px rgba
(
0
,
0
,
255
,.45
)
,
15px 
-20px 
20px rgba
(
255
,
0
,
0
,.75
)
;

css3-实例教程

5.多背景图

目前支持的浏览器:Apple Safari 1.3+, Google Chrome 1+

为某个单一元素添加多个背景图的话仅需要为不同的背景图声明之间添加都好来分隔开。当然,你还要为其它浏览器准备一张完整的图片。

1
2
3
4
5
background-image
: 
url
(astro-
127531.png
)
;
background-image
: 
url
(astro-
127531.png
)
,
url
(Hubble-
112993.png
)
;
background-repeat
: 
no-repeat
;
background-position
: 
bottom 
left
;
background-position
: 
bottom 
left
, 
top 
right
;

css3-实例教程

“买五送一”-旋转任何元素

目前支持的浏览器:Apple Safari 4+, Firefox 3.5+, Google Chrome 1+

虽然它目前不算是CSS3中的一部分,但Webkit已经有了它自己的一套变形属性,Mozilla也在效仿。变形包含了很多不同类型的值,不过其中最有意思也是最有用的就是旋转了。

1
2
webkit-transform
: rotate
(-15deg
)
;
-moz-transform
: rotate
(-15deg
)
;

css3-旋转变形

下图为不支持CSS3的浏览器所呈现出来的样子(如Opera 9):

css3-兼容性

(需要使用Safari 4+, Firefox 3.5+, or Chrome 1+浏览器)

本文转自寒意博客园博客,原文链接:http://www.cnblogs.com/hnyei/archive/2011/09/22/2184990.html,如需转载请自行联系原作者

你可能感兴趣的文章
自旋锁spinlock解析
查看>>
【java.lang.UnsupportedClassVersionError】版本不一致出错
查看>>
Ubuntu16.04 安装RabbitMQ
查看>>
javascript游戏引擎
查看>>
JVM Debugger Memory View for IntelliJ IDEA
查看>>
LINUX下GDB反汇编和调试
查看>>
golang fmt格式“占位符”
查看>>
SpringMVC包括哪些组件
查看>>
现代前端开发路线图:从零开始,一步步成为前端工程师
查看>>
elixir 集成ejabberd
查看>>
Oracle绝对值函数
查看>>
mysql 的mgr集群
查看>>
html5播放mp4视频代码
查看>>
032_nginx配置文件安全下载
查看>>
Linux下tomcat修改成的80端口无法访问
查看>>
Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)
查看>>
redis实现对账(集合比较)功能
查看>>
为了好好看球,学霸们用深度学习重建整个比赛3D全息图
查看>>
浅谈持续集成
查看>>
【ZH奶酪】如何用textgenrnn处理中文
查看>>