CSS新特性:圆角边框多栏Gird布局背景设置

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

到现在为止,只有一些已经工作的CSS3特性.
到现在为止,只有一些已经工作的特性,他们中的一些如下:
圆角
从web2.0开始,开始流行使用圆角,如果你不使用圆角,你的网站可能不会被列入web2.0网站。主要问题是,你至少需要4个图片(每个角一个)和一些JS或复杂的层来实现圆角。
这些将成为过去了!两行就足够了。让我给你个例子:
HTML:
This is easy
css 代码:
.round {
background-color: #666;
color: #fff;
line-height: 20px;
width: 200px;
padding: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}

这里是上面的截屏:

那么,有什么新东西?实际上CSS3的声明是border-radius。 到目前为止,这个特性尚未确定,众多浏览器生产商通过前缀支持该属性。Firefox使用 -moz- , Safari使用 -webkit-
这里同样支持你选择哪个角使用圆角,这可以通过使用“TopLeft TopRight BottomRight BottomLeft”实现。示例:
# -moz-border-radius-topleft / -webkit-border-top-left-radius
# -moz-border-radius-topright / -webkit-border-top-right-radius

如果可能你想要使用圆角功能,但是想要其它浏览器表现同样的效果,看这里。
边框
另外一个令人兴奋的CSS3新的border特性是支持border-image。这样你就能为每一个独立的角和边框定义一个图片。
border-image:
border-top-image
border-right-image
border-bottom-image
border-left-image
border-corner-image:
border-top-left-image
border-top-right-image
border-bottom-left-image
border-bottom-right-image

使用的图片可以是这样的:

border的另一个非常帮的特性是使用gradientcolors,而不是用图片:

CSS 代码:
.bordercolor{
border: 8px solid #000;
-moz-border-bottom-colors: #0fff09 #00fff2 #00ff00 #ffd #ff0 #aaa #bbb #ccc;
-moz-border-top-colors: #0fff09 #00fff2 #00ff00 #ffd #ff0 #aaa #bbb #ccc;
-moz-border-left-colors: #0fff09 #00fff2 #00ff00 #ffd #ff0 #aaa #bbb #ccc;
-moz-border-right-colors: #0fff09 #00fff2 #00ff00 #ffd #ff0 #aaa #bbb #ccc;
width:200px;}

目前只有Firefox3支持这个特性,所以在Safari和Opera无法使用。
#p#
到现在为止,只有一些已经工作的CSS3特性.
多栏
该特性使生活更加容易,呵呵。这个新特性允许网页设计师将文字填入栏中。这可以通过两种方法实现,定义各栏的宽度,或者是定义栏数。
多栏布局目前只支持Mozilla核心的浏览器和Safari 3, 它们支持各自的属性前缀 -moz-和-webkit-。下面的例子使用栏宽:
-moz-column-width: 13em;
-webkit-column-width: 13em;
-moz-column-gap: 1em;
-webkit-column-gap: 1em;

下一个例子使用栏数:
-moz-column-count: 3;
-moz-column-gap: 1em;
-moz-column-rule: 1px solid black;
-webkit-column-count: 3;
-webkit-column-gap: 1em;
-webkit-column-rule: 1px solid black;

这两个例子输出如下:

还有一个特性尚未生效,它就是“column-space-distribution”,这个属性可以描述当页面中还有剩余空间时如何分配栏目之间的间距。
关于CSS3 中的 Gird 布局
我们看看下面这张图:

图中蓝色的线不会出现在实际的网页中。对于这个布局复杂的三栏网页来说,如果使用 CSS3 Gird 布局的话,我们只需这样写:
body { columns:3; column-gap:0.5in; }
img { float:page top right; width:3gr; }

其中,body 部分声明页面为 3 栏,栏间距为 0.5英寸;img 中 float 属性指明图片浮动位置为页面的右上角(CSS3 定位好强大 -__-),而宽度为 3 个栏宽。只需这样两行 CSS,我们就可以实现这个复杂的布局了。真的很神奇。
Gird 布局是好,不过如果你认为它很简单的话,你就大错特错了。看看 w3c 中关于它的介绍,你会发现理解它的意义不亚于看懂天书。好在还是个草案,但愿它到了正式版的时候,能够更加简单易用点。
Gird 布局应用很广泛,最简单的例子就是内容的分栏显示。但这个 CSS3 特性目前还没有任何浏览器可以支持它。谁要是能第一个支持它(以及其它 CSS3 草案),那就酷毙了。不知道,最近异常低调的 IE8,会不会是这第一个吃螃蟹的人呢?
#p#
到现在为止,只有一些已经工作的CSS3特性.
定义背景大小
本来我们只能对背景图片进行位置和重复方式的改变,不能像改变<img />标签图片那样改变大小。而在css3中就能满足改变背景图片大小的愿望。
示例代码:
background-size:300px 100px;

说明:背景图片 300px表示宽度,100px表示高度。
目前只有Opera 9.5, Safari 3 and Konqueror浏览器中得到支持。在几种浏览器中的写法如下:
-o-background-size, -webkit-background-size和-khtml-background-size
text-shadow文字阴影效果
示例代码:
text-shadow: 2px 2px 2px #09e;

四个参数分别表示阴影的水平位移,垂直位移,模糊程度,阴影颜色。
目前支持的浏览器有Opera 9.5, Safari 3, Konqueror , Safari 3
box-sizing改变盒状模型结构
纵所周知div的盒状模型包括margin,border,padding和content四个部分.这四者的关系就无需我在这里班门弄斧啦.但是和今天主题又关的还是得说一下,那就是border里面是padding,padding里面是content.然而我们可以在css3.0中打破这一结构.使之变成content里面是border,border里面是padding.要实现这一切得建立在一个条件之下:box-dizing:border-box;
示例代码:
<style type="text/css">
div.container {
width:400px;
border:10px solid black;
height:40px;
}
div.split {
-moz-box-sizing:border-box;
width:50%;
height:40px;
border:10px silver ridge;
float:left;
padding:5px;
}
</style>
<div class="container">
<div class="split">文本内容</div>
<div class="split">文本内容.</div>
</div>


代码去掉-moz-box-sizing:border-box显示的效果为

目前支持的浏览器有firefox,Safari 3和opera
还有一个多重背景,目前常见浏览器都不支持,就不写了
更多精彩内容其他人还在看

js 解决隐藏与显示div的相关问题

我的导航中就有一栏产品中心下面用隐藏个div然后鼠标放上去就显示出来,但是导航那一块div一直出不来,什么都没有,很是郁闷不知道是什么原因
收藏 0 赞 0 分享

关于clearBoth在GOOGLE Chrome中的问题解决方法

下面这段CSS在IE中好好的,但在GOOGLE Chrome中总是不行,我调测了无数次。问题就出在 clearBoth 这个样式上,此问题如何解决,写下来详细介绍
收藏 0 赞 0 分享

用css margin去掉横排图片之间的间距

HTM,CSS,怎样去掉横排图片之间的间距,是我们的一大头疼问题,于是本人搜集整理一下,晒出来和大家分享,希望可以帮助你们
收藏 0 赞 0 分享

关于li:hover的怎么清除浮动问题实现代码

当鼠标移动上去时,周围显示一个方框,但是后面的会向后移动,如何才能使得当鼠标移上去时后面的li不浮动
收藏 0 赞 0 分享

ie6不支持两个连续并列class类名怎么解决

在网页布局中会使用到两个连续的class,但唯独ie6不支持,很郁闷,于是搜索整理下,晒出来和大家分享
收藏 0 赞 0 分享

如何在class内写xsl标记注意事项

想要在class中写一个xsl标记,想要知道应该如何来写出正确的代码语句,请详看本文
收藏 0 赞 0 分享

ie10 css hack 条件注释等兼容方式整理

ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来解决
收藏 0 赞 0 分享

IE6双倍边距 IE6浏览器会出现双倍边距解决方法

所谓的IE6双倍边距就是指当元素有float属性,又有margin属性时,在IE6下面显示的margin的值是设置值的两倍,这个问题从有css技术时就已经诞生,本文将介绍详细解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

css 网页背景图片 怎样用CSS实现大背景网页效果

在网页设计制作中经常会遇到这样的问题:用图片做背景时,由于显示器分辨率太大或者图片尺寸太小,在页面的两边或者下部了没有背景图片,使页面变的很僵硬,于是搜集整理一些,晒出来和大家分享
收藏 0 赞 0 分享

CSS字体中英文名称对照表 CSS常用中文字体英文名称对照表

在CSS文件中,我们常看到有些字体名称变成了乱码,这是由于编写者将中文字体的名字直接写成了中文,为了避免这种状况出现,在CSS文件中使用中文字体时,最好使用中文字体的英文名称,需要的朋友可以注意下
收藏 0 赞 0 分享
查看更多