网页设计应该熟知的CSS 3.0技术

所属分类: 网页制作 / CSS 阅读数: 161
收藏 0 赞 0 分享

1. 基本的xhtml标记

css3.7.png

在开始这个教程之前,让我们来做点xHtml标记,我们需要的几个DIV来完成效果的显示,如下:

  • #round, 这个显示CSS 3圆角
  • #indie, 单个角的显示
  • #opacity, 不透明度
  • #shadow, 不用制图工具制作投影
  • #resize, 可调节大小

因此,我会的xHtml会像下面这样,你可以自己建立一个html文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>An Introduction to CSS3; A Nettuts Tutorial</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<div id="round"> </div>
<div id="indie"> </div>
<div id="opacity"> </div>
<div id="shadow"> </div>
<div id="resize">
<img src="image.jpg" alt="resizable image" width="200" height="200">
</div>
</div>
</body>
</html>

让我们来稍微重设一下浏览器的CSS(还刻CSS reset吗? 可以看10款浏览器CSS Reset的方法),代码如下:

body {
background-color: #fff;
}
#wrapper {
width: 100%;
height: 100%;
}
div {
width: 300px;
height: 300px;
margin: 10px;
float: left;
}
/*稍后我们把要实现的代码写在这里*/

2. CSS3 圆角

css3.2.png

如上面所说,我们的代码会是这样的:

#round {
background-color: #000;
border: 1px solid #000;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}

在这里-moz是firefox上能显示的样式前缀,而-webkit刚是像safari/Chrome这样的浏览器的样式前缀。而10px刚是border的半径(radius : ['reidjəs] n. 半径),明白了吧!

3. 单独圆角的定义

css3.3.png

看了上面的CSS圆角,你可能会觉得,如果我想让它只显示两个三个圆角,需要怎么办呢,难道还是要用到制图工具? 当然不用,CSS3已经为我们想好了。这里,我们的代码将是:

#indie {
background-color: #000;
border: 1px solid #000;
-moz-border-radius-topright: 10px;
-moz-border-radius-bottomright: 10px;
-webkit-border-top-left-radius: 10px;
-webkit-border-bottom-left-radius: 10px;
}

注意到topright和top-left这两个值没有? 这表明的是圆角的方位,完整的方位书写出下:

  • 以-moz为前缀的:topleft topright bottomleft bottomright
  • 以-webkit为前缀的:top-left top-right bottom-left bottom-right

而且,你注意到了没,-moz为前缀的,是写在最后,而以-webkit前缀的,写在半径的前面。

4. 显示不透明度

css3.4.png

搞过透明没有, 很难搞,是不是?对,就是难搞,特别是IE(友情推荐:让IE支持PNG透明的最好方法)。而CSS3只要一行代码。如果浏览器都支持CSS 3,事情就好办多了。我们的代码如下:

#opacity {
background-color: #000;
opacity: 0.3;
}

再来一次英文解释吧,opacity,就是不透明度的意思。我想,只要知道这个,你就会用了吧?

5. CSS 投影

css3.5.png

你可能知道如何用CSS技巧来实现投影吧? 不过,这里要说的不是技巧,而是CSS 3的一个技术,看代码:

#shadow {
background-color: #fff;
border: 1px solid #000;
-webkit-box-shadow: 3px 5px 10px #ccc;
}

看到没,-webkit这一行,只要这一行。3px表示水平方向的投影,5px表示纵向投影,而10px而指模糊的跨度(使用过fireworks或者photoshop的feather功能没有? 对,就是这个!)。而且,像你看到的,-webkit为前缀,证明只有safari和chrome这样的浏览器才会显示,firefox则不会。

6. 调节大小

css3.6.png

用过safari的人都知道,一般情况下,textarea部分是可以调节大小的,就是这样。不过,这个功能现在也暂时只支持safari。代码如下:

#resize {
background-color: #fff;
border: 1px solid #000;
resize: both;
overflow: auto;
}

resize:both。像clear:both一样。表示,可以向水平方向和纵方向选择拖动,调节大小。当然,也支持下面的值:

  • resize:horizontal; 水平方向调作
  • resize:vertical; 纵向调节

而另一个要让你明白的是,你必须把overflow:auto;写上,才能保证Resize正常使用。当然,你还可以设定最长宽度,最低高度来让这个元素在可一个范围内可调节,知道下面这个不?

  • max-height: 123px;
  • min-height: 321px;
  • max-width: 123px;
  • min-width: 321px;

不懂? 那你可以回去学一下CSS啦,虽然IE6这个曾经的伟大的浏览器不支持这个属性(可用JS来hack它)。这可是很重要的哦!

你有没有一边看,一边跟着做呢? 如果没有,建议你做一次。像你知道的,代码这东西,看着,以为懂了,到了用的时候,可能会不知道如何下手用。自己动手,会让你发现更多问题,会让你有更多的进步,而不是单纯看。anyway,这个还是提供出来:


提示:您可以先修改部分代码再运行

更多精彩内容其他人还在看

CSS样式分离之再分离达到精简与重用

无论是CSS的分离还是js的分离,其主要作用之一就是精简与重用,CSS本身就代表着精简与重用,CSS样式分离,我一般指的是“以单独的CSS文件将CSS样式分离出来”,此处的重用多针对不同页面的重用,就是说,一个样式文件,可以多个页面使用,这对于一些公共样式的重构是很有
收藏 0 赞 0 分享

CSS属性behavior的语法使用说明

在进行CSS网页布局的时候,我们经遇到刷新要保留表单里内容的时候,习惯的做法使用cookie,但是那样做实在是很麻烦,css中的behavior就为我们很好的解决了这个问题。今天jb51.net就向大家介绍CSS属性behavior的语法
收藏 0 赞 0 分享

网页制作中的水平居中和垂直居中解决方法集合

 在定义网页的CSS样式的时候,我们或许并不怎么用到垂直居中。
收藏 0 赞 0 分享

最常见IE的Bug及其fix修复方法

Internet Explorer – Web程序员的毒药。在IE上开发时间中有超过60%的时间是花在和IE的bug进行搏斗,让你的开发生产率严重下降。下面是一个教程,告诉你9个IE上最常见的BUG以及如何解决它们。
收藏 0 赞 0 分享

CSS常用浏览器兼容调整小结

用CSS+DIV来写网站代码的好处显而易见,这里不多说了,但由于不同浏览器对CSS的解释不统一,造成不同浏览器下页面错位的现象十分常见……
收藏 0 赞 0 分享

css firefox火狐浏览器下的兼容性问题

css firefox火狐浏览器下的兼容性问题
收藏 0 赞 0 分享

DIV+CSS 浏览器兼容性小结

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果!
收藏 0 赞 0 分享

div+css 布局常识 8问

CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官提出的问题,或者给出的试卷。今天jb51.net收集了常见的8条面试题目,希望对您有所帮助。
收藏 0 赞 0 分享

CSS用四种方式实现布局

CSS用四种方式实现布局
收藏 0 赞 0 分享

css 解决表格边框不显示的问题

在 IE6 中,当表格单元格中的数据为空时,边框是不显示的,在IE8中是会显示的,怎样解决这个不兼容的问题呢。
收藏 0 赞 0 分享
查看更多