css网页设计小技巧

   1.CSS字体属性简写规则

  一般用CSS设定字体属性是这样做的:

  font-weight:bold;

  font-style:italic;

  font-varient:small-caps;

  font-size:1em;

  line-height:1.5em;

  font-family:verdana,sans-serif;

  但也可以把它们全部写到一行上去:

  font: bold italic small-caps 1em/1.5em verdana,sans-serif;

  真不错!只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。

  2. 同时使用两个类

  一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:

  ...

  同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。

  补充:对于一个ID,不能这样写

  ...

  也不能这样写

  3. CSS border的缺省值

  通常可以设定边界的颜色,宽度和风格,如:

  border: 3px solid #000

  这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。

  如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。

  4. CSS用于文档打印

  许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。

  也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:

  第1行就是显示,第2行是打印,注意其中的media属性。

  但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。要想了解更多,可以看“打印差异”这一篇。

  5. 图片替换技巧

  一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。

  比如你想整个卖东西的图标,你就用了这个图片:


  这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:

  Buy widgets

  但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS:

  h1 { background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px }

  注意把image height换成真的图片的高度。这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。但这对于关闭图片的人来说,可能全部看不到了,这点要注意。

  6. CSS box模型的另一种调整技巧

  这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:

  #box { width: 100px; border: 5px; padding: 20px }

  这样调用它:

  ...

  这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。

  但用CSS也可以达到同样的目的,让它们显示效果一致。

  #box { width: 150px } #box div { border: 5px; padding: 20px }

  这样调用:

  ...

  这样,不管什么浏览器,宽度都是150点了。

  7. 块元素居中对齐

  如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:

  #content { width: 700px; margin: 0 auto }

  你会使用

  来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下:

  body { text-align: center } #content { text-align: left; width: 700px; margin: 0 auto }

  这会把网页内容都居中,所以在Content中又加入了

  text-align: left 。

  8. 用CSS来处理垂直对齐

  垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。

  CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。

  9. CSS在容器内定位

  CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器:

  #container { position: relative }

  这样容器内所有的元素都会相对定位,可以这样用:

  ...

  如果想定位到距左30点,距上5点,可以这样:

  #navigation { position: absolute; left: 30px; top: 5px }

  当然,你还可以这样:

  margin: 5px 0 0 30px

  注意4个数字的顺序是:上、右、下、左。当然,有时候定位的方法而不是边距的方法更好些。

  10. 直通到屏幕底部的背景色

  在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS:

  #navigation { background: blue; width: 150px }

  较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢?

  不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。

  body { background: url(blue-image.gif) 0 0 repeat-y }

  此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。

  1. Block和inline元素对比

  所有的HTML元素都属于block和inline之一。

  block元素的特点是:

  总是在新行上开始;

  高度,行高以及顶和底边距都可控制;

  宽度缺省是它的容器的100%,除非设定一个宽度

  ,

  ,

  ,

  ,

  和

  是块元素的例子。

  相反地,inline元素的特点是:

  和其他元素都在一行上;

  高,行高及顶和底边距不可改变;

  宽度就是它的文字或图片的宽度,不可改变。

, , , ,


, 和是inline元素的例子。

  用display: inline 或display: block命令就可以改变一个元素的这一特性。什么时候需要改变这一属性呢?

  让一个inline元素从新行开始;

  让块元素和其他元素保持在一行上;

  控制inline元素的宽度(对导航条特别有用);

  控制inline元素的高度;

  无须设定宽度即可为一个块元素设定与文字同宽的背景色。

  2. 再来一个box黑客方法

  之所以有这么多box黑客方法,是因为IE在6之前对box的理解跟别人都不一样,它的宽度要包含边线宽和空白。要想让IE5等同其他浏览器保持一致,可以用CSS的方法:

  padding: 2em;

  border: 1em solid green;

  width: 20em;

  width/**/:/**/ 14em;

  第一个宽度所有浏览器都认得,但IE5.x不认得第2行的宽度设置,只因为那一行上有空白的注释符号(多么蠢的语法分析!),所以IE5.x就用20减掉一些空白,而其他浏览器会用14这个宽度,因为它是第2行,会覆盖掉第1行。

  3. 页面的最小宽度

  min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个

  放到 标签下,然后为div指定一个类:

  }

  第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

  同样的办法也可以为IE实现最大宽度:

  #container

  {

  min-width: 600px;

  max-width: 1200px;

  width:expression(document.body.clientWidth < 600? "600px" : document.body.clientWidth > 1200? ”1200px“ : ”auto"


  ;

  }

  4. IE与宽度和高度的问题

  IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。

  比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:

  .box

  {

  width: 80px;

  height: 35px;

  }

  html>body .box

  {

  width: auto;

  height: auto;

  min-width: 80px;

  min-height: 35px;

  }

  所有的浏览器都可以使用第一个box设置,但IE不认得第2段设置,因为其中用到了子选择器命令。第2个设置更特殊些,所以它会覆盖掉第1个设置。

  5. 字体变形命令

  text-transform 命令很有用,它有3个值:text-transform: uppercase, text-transform: lowercase 和 text-transform: capitalize。第1个会把文字变成全大写,第2个变成全小写,第3个变成首字母大写。这对拼音文字非常有用,即使输入时有大小写错误,在网页上也看不到。

  6. IE中图片文字消失的问题

  有时会遇到文字或背景图突然消失的问题,刷新一下又出现了,这在靠近漂浮元素时更容易发生(注:没见过)。此时,可以为消失的元素设定: position: relative ,如果不行,再考虑为这些元素指定一个宽度试试。

  7. 不可见文字

  不论因为何种原因希望某些网页文字不在浏览器中显示,比如为了打印或为了小屏幕而让某些文字不显示,都可以用 display: none 。这非常简单,但有时对某些人这有点没用,他们能去掉这个控制,这时就要用到: position: absolute; left: -9000px 。

  这实际上是把文字指定在页面以外显示。

  8. 为手持设备设计专门的CSS

  也就是手机/PDA等小屏幕用户,可以专门设计一个CSS来让网页显示更舒服些。为此,可以把浏览器窗口调整到150点宽来看效果。指定专门的手持设备的CSS的语法是:

  也可以阅读专门的手持设备可用性。

  9. 3D效果的按钮

  以前要想制作带有3D效果,并且点击下去还会变化的按钮,就得用图片替换的方法,现在CSS就可以了:

  a

  {

  display: block;

  border: 1px solid;

  border-color: #aaa #000 #000 #aaa;

  width: 8em;

  background: #fc0;

  }

  a:hover

  {

  position: relative;

  top: 1px;

  left: 1px;

  border-color: #000 #aaa #aaa #000;

  }

  至于效果,还可以自己调整了。

  10. 在不同页面上使用同样的导航代码

  许多网页上都有导航菜单,当进入某页时,菜单上相应这一项就应该变灰,而其他页亮起来。一般要实现这个效果,需要写程序或专门为每一页做设计,现在靠CSS就可以实现这个效果。

  首先,在导航代码中使用CSS类:

  Home

  About us

  Contact us

  然后分别为每一页的Body指定一个id,和上面类同名。如。

  然后设计CSS如下:

  #home .home, #about .about, #about .about

  {

  commands for highlighted navigation go here

  }

  这里,当id设为home时,.home就会起作用,也就是class设为home的那一行导航条就会显示出特殊效果来。其他页也是如此。

时间: 2024-10-02 16:03:37

css网页设计小技巧的相关文章

网站建设网页设计小技巧分享

网站建设网页设计小技巧分享.在网站建设的过程中我们会遇到很多问题,我们也会去解决各类问题.无论是网站设计还是代码编写.今天针对网站建设过程中我们会遇到的一些小问题,并给出一些简单的解决办法. Ie6不支持Png格式下的透明.效果图如下: 应用解析:有不少人都会对LOGO进行透明处理以融入head部分的渐变背景. 解决方案:采用JS代码实现或CSS滤镜功能,当然问题也存在部分,导致图片质成像量不高. 小技巧1:将透明的LOGO用高于IE6的浏览器打开网页,然后采用FF的PearlCrescentP

网页设计小技巧:解决IE6不支持hover

文章简介:网页设计小技巧:解决IE6不支持hover.  IE6以及更低版本的浏览器对":hover"的支持不理想,对于类似的"p:hover"."img:hover"."#header:hover"...,今天给大家介绍一种新的方法,可以完美解决IE6不支持hover的情况,用法很简单,将下载后的"csshover.htc"文件,定义在body样式内 body { behavior:url("c

网页设计小技巧:用CSS制超级链接样式

css|技巧|链接|设计|网页|网页设计 有时我们可能希望内部链接与外部链接显示不同的样式,如外部链接.我想在链接的旁边加上一个小图标,以表示其是一个外部的链接,来告诉来访者,让他们来确认是在新窗口打开还是在本窗口打开.我们可能会这样做:.external{background:url(images/external.gif) no-repeat right top;padding-right:12px;}然后给每一个外部的链接应用该CSS,当然,这样做并不是不可以,只是太繁琐. 那有没有好的办

网页设计小技巧:快速让网页出彩的小技巧

文章描述:我的防身暗器-网页设计应急小技巧. 工作中,网页设计师经常会遇见这些状况:时间这么短又要出彩.又是要大气要有气氛.风格不明确很难把握.栏目这么多页面又这么长-- 突然觉得束手无策,脑袋里一片空白,没想法了,怎么办? 下面简浅的归纳了几个快速让页面出彩的小技巧: 1.旋转法 – 将页面的主体或局部进行旋转 我们一般的页面版式都是方方正正,四平八稳,有点呆板.如果将局部或整体适当的旋转,打破稳定的构图,画面就会动感有趣一些. 对于上图,这种基调轻松活泼又恰好内容比较少的页面来说,主体整个旋

网页设计小技巧:如何隐藏网页中的层DIV

技巧|设计|网页|网页设计 div的visibility可以控制div的显示和隐藏,但是隐藏后页面显示空白: style="visibility: none;" document.getElementById("typediv1").style.visibility="hidden";//隐藏 document.getElementById("typediv1").style.visibility="visible&

CSS网页设计技巧:input按钮在IE浏览器的兼容问题

文章简介:CSS网页设计技巧:input按钮在IE浏览器的兼容问题. 这段时间在处理网页默认的input 按钮时,IE下常显现不一致的宽度问题,让人感到很纠结.所以今天请教了几位高手把这个问题解决了,现在贴出来和大家共享一下,当然这个方法在网上曾有人写过,大家可以一起来相互探讨一下. Html Code: <input type="submit"; class="form-submit" value="subscribe" name=&qu

CSS网页设计教程:表单Button的Outline

文章简介:CSS网页设计教程:表单Button的Outline. outline的使用,大家都喜欢在reset样式表中直接重置: * {   outline: none; } Eric Meyers在他的CSS Reset是这样重置的: /* remember to define focus styles! */ :focus {     outline: 0; } 这些方法大家都可以说常见了.可是有一点可能大家还是不太清楚--outline在表单的button中使用时,在firefox浏览器下

CSS网页设计中使用背景图片须注意路径问题

css|背景图片|设计|网页|网页设计|问题 网页设计技巧文章,CSS网页设计中使用背景图片须注意路径问题. 在传统的表格布局中,背景图片是直接应用于表格的,一般情况下CSS的background-image属性使用非常少,或者说根本就不使用.应用CSS网页布局,实现内容与表现.行为相分离,作为页面框架.装饰等图片我们就直接剥离到CSS文件中,通过CSS进行定义. 我们通常用link的方法直接引用一个CSS文件到HTML(或其它活动文档)文件中.我们会发现有时候我们的图片无法显示了.此时,请查看

CSS网页设计实例:商旅网首页的标签切换

文章简介:CSS网页设计实例:商旅网首页的标签切换. 上个月的项目了...标签切换有很多方法可以实现,这里贴一段我个人很喜欢用的代码: <ul class="tabmenu"><li class="menu_flt">机票</li>< li>酒店</li>< li>旅游度假</li>< /ul> 对于web标准化来讲,这种结构很清晰,当图片未显示的时候同样可以知道文本内容