分类: HTML5
2016-12-28 16:00:57
四、页面制作(1)----用好border和clear
由于找工作找房子的原因,隔了这么久才能开始写教程,心里感觉很对不起一直在关注本站的朋友,今天是找到房子的第二天,于是赶快继续写教程。
这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性。
首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其实我们还有更简单的办法,只要在中加入这么一段就可以了,你可以试试:
以上代码便可以实现设计草图中的banner,在css.css中加入以下样式:
通过border很容易就绘制出一条实线了,并且减少了图片下载所占用的网络资源,使得页面载入速度变得更快。
另一个要说明的就是clear:both,表示清除左、右所有的浮动,在接下来的布局中我们还会用这个属性:clear:left/right。在这里添加clear:both是由于之前的ul、li元素设置了浮动,如果不清除则会影响banner层位置的设定。
以上是页面主体部分,我们在css.css中添加以下样式:
为了可以查看到效果,建议在#sidebar和#mainbody中加入以下代码,预览完成后可以删除这段代码:
保存预览效果,可以发现这两个层完美的浮动,在达到了我们布局的要求,而两个层的实际宽度应该160+2(border)+570+2=734px,已经超出了父层的宽度,由于clear的原因,这两个层才不会出现错位的情况,这样可以使我们布局的页面不会因为内容太长(例如图片)而导致错位。
而之后添加的overflow:hidden则可以使内容太长(例如图片)的部份自动被隐藏。通常我们会看到一些网页在载入时,由于图片太大,导致布局被撑开,直到页面下载完成才恢复正常,通过添加overflow:hidden就可以解决这个问题。
CSS中每一个属性运用得当,就可以解决许多问题,或许它们与你在布局的页并没有太大的关系,但是你必须知道这些属性的作用,在遇到难题的时候,可以尝试使用这些属性去解决问题。
源文件可以再下一节中再次下载。
DIV+CSS布局入门教程(六)--关于ID和CLASS
这半个月以来今天是头一天在20:00左右下班,想起关于这个教程一直没有完成,心里感觉非常不踏实。两个月前刚辞职,本想把教程全部完成,但是由于一次不幸,导致硬盘中的数据大部分丢失,本写了一半的教程也随之灰飞烟灭。但最近有许多的网友通过博客、、、E-MAIL等途径与我联系,希望能继续更新这个教程,甚至有网友居然拨打我的手机(我不知道大家是如何知道我的号码的,,哎~~)被大家所感动,时间虽然很紧,但还是抽点时间来尽量完成这个教程吧~~就像鲸鱼叔叔所说的,时间就是奶,越挤就越多~~
首先,有些东西需要说明一下。对于之前的文章,由于为了让大家更好的区分各层的关系,教程中不少地方使用了大写的CLASS或者ID,其实这样做是不推荐的,我推荐的方法是使用单词之间增加下划线,或者单词拼接的方法。因为CSS是区分大小写的。大家可以看到,我提供给大家的下载文件中全部都是使用小写来处理的。
我们先来处理sidebar的样式,经过分析,我们可以得知,sidebar有四个部分,我们将这四个部分分为四个层:
在这里我们有到ID和CLASS,那么有的朋友就要问了,究竟什么情况下用ID,什么情况下用CLASS呢?
ID,表示的是唯一性,并且在这个页面中只会出现一次,我们用它来表示布局的结构;
CLASS,表示一组(类)或一个具有同样性质的元素,它们可以共用样式,并且在页面中将会出现多次。
因为会员登录、站点信息、页面标准以及这几个区域中的内容字的样式将会是一样的,所以我们将它们放在一个组里面。
但有的时候,我们需要给这些层中的元素设置不同的样式时,我们要如何做呢?例如会员登录这几个文字使用14px加粗,其他是使用12px加粗,我们要怎么写CSS呢,看下面的代码?
#login .bar_title 表示的是在ID为login的层下的CLASS为bar_title的元素的样式,这样表示的就可以有针对性的对某些元素定制样式。#login .bar_title 在单独设置了font-size:14px的样式时,同时也继承了.bar_title这一组(类)的样式,那就是font-weight:bold,加粗。
再举一个例,这样大家就会对这部分理解更深刻了,HTML代码如下。
这里,我要将title1的文字样式设置为14px,红色,将title2的文字样式为10px,绿色,title1和title2都需要加粗,DIV加一个红色的1px的边框,SPAN加一个绿色的1px的边框,样式可以这样写:
大家可以看到,使用CLASS可以使得许多的元素可以共用同样的样式,通过元素的TagName的不同,又可以对每一个元素定制不同的样式,我想大家应该对什么时候该用ID,什么时候该用CLASS已经有了深刻的理解了吧!
好了,这次的教程到这里,我不知道下一篇教程什么时候更新,但我会尽快的,谢谢大家的支持。
另外,花了点时间把以前的文件又重新整理了一下,提供下载,并添加了详细的注释,大家可以通过查看文档内的注释来了解到更多的内容。
最近看过许多网友制作的SKIN的CSS文件,发现其中有着许多冗余的代码。下面我来跟大家介绍一下,如何清除这些冗余的代码,让你的CSS文件更加简洁。
一、margin、padding属性
参照相关资料我们可以知道,margin和padding代表的意思分别是外部边距和内部填充距离,在许多网友的CSS中,关于这两个属性的冗余代码是出现得最多的。比如:margin:0px,大家可以查看一下自己的CSS文件中,是否许多的margin:0px,其中有的是不需要的,你可以尝试删除它,当然也并不是所有的margin:0px都没有用,相同,padding:0px也一样。
另外,margin和padding中各项属性的顺序是:上右下左,你只要记住是顺时针方向就好了。我们再看看这两段代码:
margin:0px 0px 0px 10px;
margin-left:10px;
其实他们的作用是一样的,下面的则是一种缩写,使用缩写我们可以减少CSS代码,并使阅读起来更为方便。(padding也相同。)
二、!important;属性
!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。IE是不支持这个语法的,而其他的浏览器都支持,通过这一点,我们可以得知,设置了优先权的代码是不会被IE执行的。所以我们可以important的后面添加CSS样式,使其可以区别于IE和FireFox等浏览器。
上次在看Miles的CSS代码时,我看到了这样一句:
height:50px !important;height:50px;
这里就是多余的了,我们可以这样写:height:50px就够了,这个错误在我刚开始制作CSS时也曾出现过。
三、text-align、font样式
这两个样式的作用我就不说了,但是这两个样式在许多网友的CSS中也存在许多冗余。下面我来举例说明一下,层的定义如下:
大家可以从上面的代码中轻易地看出,有许多的冗余代码,现在我们来书写正确的代码:
#main{width:500px;text-algin:left;font-size:12px;color:#000000;}
#body1{text-algin:center;color:#FF0000;}
#content{width:300px;text-algin:left;color:#000000;}
#body2{}
以上就是正确的代码,由于大家在制作SKIN时,对PJBLOG的DIV结构没搞清楚,才会出现这种错误。
四、display:none的使用
display:none的作用就是使被定义的层不显示。我们再来看看这段代码:
#blogTitle{font-size:0px;margin:10px 3px 3px 40px;height:20px;color:#FFC1E6;display:none}
大家有没有觉得这有些多余呢,是的,既然设置了不显示,为何还要保留那些不必要的样式呢?出现这种情况我就知道,这个SKIN是改自某人的。
五、还是margin和padding
我还是通过例子来给大家说明,层的定义同上,以下是CSS的定义(错误示例):
#main{margin:5px 0px 5px 0px;}
#body1{margin:12px 0px 10px 0px;}
#content{margin:8px 0px 2px 0px;}
#body2{margin:10px 0px 15px 0px;}
现在我们再来书写正确的样式:
#main{}
#body1{margin-top:17px ;}
#content{margin:8px 0px 2px 0px;}
#body2{margin:20px 0px ;}
这里需要大家制作一下示例才能了解,首先#main{margin:5px 0px 5px 0px;}是没有必要的,他无非定义的就是整个页面的上、下外边距。(在一定场合下却需要这样书写)我们同样可以通过定义#body1的上边距和#body2的下边距来设置,所以才有了#body1{margin-top:17px ;}和#body2{margin:20px 0px ;}(这里定义的是#body2的上下边距为20px,左右边距为0px,也是缩写的一种方式。)
同样的道理,于是我们可以省略了#body1的下边距,在#content层在定义上边距,另外大家还需要先弄清楚层的嵌套关系,否则就会出错。
好了,写到这里我也该去睡了,以上就是这些时间查看大家的CSS文件获得的经验,希望对大家书写CSS的时候有所帮助,制作出来的SKIN更加简洁、明了。