雨无形

该用户没有分享资料


雨无形

网页中圆角的制作方法与选择(一)宽度固定高度自适应的圆角

今天在做移动新版页面的模板的时候因为页面中用到了很多圆角的效果,基本效果如下:

圆角效果

所以准备做一个圆角的通用模板。考虑到网站中此圆角样式只有两种宽的尺寸370和750,但高度不定所以首先做了一个固定宽高度自适应的模板。

代码如下:

Html部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="box">
<div class="box-top">
<h2>宽固定高自适应box</h2>
</div>
<div class="box-bd">
<ul>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
</ul>
</div>
</div>

CSS部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.box {
	width:370px;
	padding-bottom:3px;
	background:url("../images/box-round.png") 0 100% no-repeat;
}
.box .box-top {
	height:27px;
	padding:2px 2px 4px;
	background:url("../images/box-round.png") -370px 0 repeat-x;
}
.box .box-top h2 {
	font-size:14px;
	line-height:27px;
	color:#1866a6;
	padding-left:20px;
	background:url("../images/ico.gif") 5px 7px no-repeat;
}
.box .box-bd {
	border-left:1px solid #c6c6c6;
	border-right:1px solid #c6c6c6;
	padding:5px 10px 8px;
}
.box {
	background-position:0 100%;
}
.box .box-top {
	background-position:-370px 100%;
}

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

如果还要新加一个750宽度的,则要修改一下代码。

html代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<div class="width1">
<div class="box">
  <div class="box-top">
    <h2>宽固定高自适应box</h2>
  </div>
  <div class="box-bd">
    <ul>
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
    </ul>
  </div>
</div>
</div>
<div class="width2">
<div class="box">
  <div class="box-top">
    <h2>宽固定高自适应box</h2>
  </div>
  <div class="box-bd">
    <ul>
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
    </ul>
  </div>
</div>
</div>

CSS代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
.width1 {
	width:370px;
	margin:20px auto;
}
.width2 {
	width:750px;
	margin:20px auto;
}
.box {
	padding-bottom:3px;
	background:url("http://www.yuwuxing.com/code/box/images/box-round.png") no-repeat;
}
.box .box-top {
	height:27px;
	padding:2px 2px 4px;
	background:url("http://www.yuwuxing.com/code/box/images/box-round.png") repeat-x;
}
.box .box-top h2 {
	font-size:14px;
	line-height:27px;
	color:#1866a6;
	padding-left:20px;
	background:url("http://www.yuwuxing.com/code/box/images/ico.gif") 5px 7px no-repeat;
}
.box .box-bd {
	border-left:1px solid #c6c6c6;
	border-right:1px solid #c6c6c6;
	padding:5px 10px 8px;
}
.width1 .box {
	background-position:0 100%;
}
.width1 .box .box-top {
	background-position:-370px 0;
}
.width2 .box {
	background-position:-740px 100%;
}
.width2 .box .box-top {
	background-position:-1490px 0;
}

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

宽度固定,高度自适应的圆角就这样完成了,如果需要宽度也能自适应敬请期待PART II,宽高自适应的圆角边框

关于读书

今天整理了一下自己之前买的书,有一年多没买书了,不是不想买,而是看之前买的那些都没怎么看,下定决心看完之前买的书再买新的不然就变成了一个“图书收藏家”了。

看着书桌上javascript权威指南上那厚厚的灰尘,我感到自责,三年前就买了这本书,到现在只看了不到100页,买的第四版,现在第五版都出版一年多了。

反思之后,我决定给自己定下一个计划,每天读书至少一个小时。不管工作多忙。

整理了一下尚未读或者没有读完的书:

javascript权威指南(第四版)

JavaScript DOM编程艺术

XML 基础教程:入门、DOM、Ajax与Flash

PHP 5项目开发实战详解

Don’t Make Me Think

赢在用户

最近首先要看的就是

javascript权威指南(第四版)

JavaScript DOM编程艺术

每天一小时,从今天开始!

9个你现在可以使用的CSS3属性

前言:昨天介绍了一个text-shadow的CSS3属性,NB吧,今天专门去查了一下CSS3的其它属性,发现这篇文章不错,特别转帖过来。

原文:9 CSS3 Properties You Can Use Now

当你看到很多自己期待的属性在CSS3中出现,肯定会兴奋不已,而在之前这些都是需要一些浏览器hack实现。

下面就介绍一下CSS3中9个现在可以并且经常被你使用的属性,以及如何去使用。

1.Text-shadow

这个属性使用的属性值是这样定义的:

1
text-shadow: 2px 2px 5px #000;

其中第一个和第2个值代表了阴影的偏移量,第3个值代表模糊半径,第4个值代表阴影颜色。

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 2.0+, Opera 9.6+

注:想了解该属性详细情况可以查看之前的一篇文章CSS文字阴影效果

2.Box-shadow

这个属性跟文字阴影有点相像,但是又有一些区别,它可以作用于一块区域的阴影效果,而不像文字阴影只能作用文字区域。它的属性值是如下所示定义的:

1
box-shadow: 5px 5px 10px 10px #000;

前两个属性值代表阴影的便宜量,第3个值代表模糊半径,第4个值代表阴影的扩散半径,第5个值代表阴影的颜色值。

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 1.0+

3.Box-sizing

这个属性虽然被列入CSS3属性中,但是还尚未广泛支持CSS3的规格。

这个属性相对比较简单,包含了3个属性值,content-box、border-box和inherit。

1
box-sizing: content-box | border-box | inherit;

在浏览器行为中,默认情况下为content-box,内容显示的大小实际上是内容、填充、边界以外指定的宽度和高度,所以一个有20px宽度内容、1px边界以及5px的间距实际上会被当成总宽度为20+1+1+5+5=32px。

所以利用这个属性,如果我们定义为border-box,那边界和边距将会被定义在元素之内,上面举的例子中,总宽度将会被当成20px,这个在实际布局中很有用。

支持此属性的浏览器:IE8+, Safari 3.1+, FireFox 2.0+, Chrome 1.0+, Opera 9.6+

4.Columns

这个属性也相对来说比较简单,主要用于杂志式的布局,在Mozilla 和 Webkit 核心浏览器中需要前缀书写,带代码如下:

1
2
3
4
5
6
-moz-column-count: 2; /* For FireFox */
-webkit-column-count: 2; /* For Safari/Chrome */
column-count: 2; /* For when the standard gets fully supported */
-moz-column-width: 250px; /* For FireFox */
-webkit-column-width: 250px; /* For Safari/Chrome */
column-width: 250px; /* For when the standard gets fully supported */

这段代码告诉我们,内容将会以2列展示,每一列250px宽。

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 1.0+

5.Border-radius (rounded corners)

因为很多人都很喜欢圆角,但是在CSS3之前就不得不使用图片来实现很多效果,所以在CSS3中加入了这个属性,收到了大家的欢迎,但是在Mozilla 和 Webkit 核心浏览器中仍然需要他们自己的前缀,属性书写如下:

1
2
3
-moz-border-radius: 10px; /* For FireFox */
-webkit-border-radius: 10px; /* For Safari/Chrome */
border-radius: 10px; /* For when the standard gets fully supported */

支持此属性的浏览器:Safari 3.1+, FireFox 2.0 (non-antialiased), FireFox 3.0+, Chrome 1.0+ (non-antialiased)

6.Border-image

这个属性没有像Border-radius这个属性那么频繁的被使用,因为在理解上还是有点困难。但是对于一些特殊的效果,用这个属性就很合适:

1
2
-webkit-border-image: url(whiteButton.png) 0 12 0 12 stretch stretch;
-moz-border-image: url(whiteButton.png) 0 12 0 12 stretch stretch;

需要查看这个属性的更多细节,请点击:his full article

浏览器对于此属性的支持:Safari 3.1+, FireFox 3.5, Chrome 1.0+

7.@font-face (web font embedding)

这个属性是说用户可以自定义一些个性字体,为了包含自己定义的字体,可以通过这个属性进行定义:

1
2
3
4
@font-face {
font-family: "My Awesome Font";
src: url(MyAwesomeFont.otf) format("opentype");
}

然后可以通过下面的形式进行引用:

1
h1 { font-family: "My Awesome Font", sans-serif; }

支持此属性的浏览器:Safari 3.2+, FireFox 3.5, Chrome 2.0+, IE4+ (sort of)

8.RGBA color

这个属性还是值得一提的,之前我们定义背景颜色,就是一个颜色值,但是通过CSS3的这个属性,如果你想定义一个透明度为50%的一个背景色,就会很容易实现:

1
background: rgba(0, 0, 0, 0.5)

浏览器对于此属性的支持(不包含滤镜):Safari 3.1+, FireFox 2.0+, Chrome 1.0+

9.Transitions

这个属性可以让你实现一些之前必须用图片实现的效果,比如说线性渐变之类的:

1
2
3
4
5
6
7
#element {
opacity: .7;
-webkit-transition: opacity 1s linear;
}
#element:hover {
opacity: 1;
}

以前都是CSS3属性中加入的属性,对我们在工作当中都有了一个很好的帮助。

花

另辟蹊径,用css制作简单图片阴影效果

一般制作阴影效果都是使用的图片背景或者css滤镜,个人对于CSS滤镜一直抱有抵触心理,所以能不用就不用,有时候为了实现一些效果需要给图片加上阴影。可以尝试一下以下CSS方法。

a.shadow {
	display:inline-block;
	padding:1px;
	background:#d1d1d1;/* 第三层边框的颜色 */
	border:solid #f0f0f0 1px;/* 第四层边框的颜色 */
	/* 各标准浏览器中圆角定义 */
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}
a.shadow img {
	padding:1px;
	background:#676767;/* 第一层边框的颜色 */
	border:solid #a4a4a4 1px;/* 第二层边框的颜色 */
	/* 各标准浏览器中圆角定义 */
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}

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