css的精髓是布局,而不是样式——之二

 

第二天 文本布局和图片布局

文本布局:

1)一个常见的上下左下右分块布局:

<!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=gb2312" />
        <title>
            无标题文档
        </title>
        <style type="text/css">
            <!--
    body {
     margin-left: 0px;
     margin-top: 0px;
     margin-right: 0px;
     margin-bottom: 0px;
     padding: 0;
    }
    body,td,th {
     font-family: Arial, Helvetica, sans-serif;
     font-size: 76%;
    }
    #container #header {
     line-height: 80px;
     height: 80px;
     margin: 0;
     padding-left:10px;
     background:#00CC99;
     color:#3300CC;
    }
    #container #left {
     float:left;
     width:33%;
     height:100px;
     background:#0099CC;
    }
    #container #right {
     height:100px;
     margin-left:33%;;
     background:#0000CC;
    }
    #container #footer {
     background:#0066FF;
     color:#669999;
     clear:both;
     width:100%;
    }
            -->
        </style>
    </head>
    <body>
        <div id="container">
            <div id="header">
                header
            </div>
            <div id="left">
                left
            </div>
            <div id="right">
                right
            </div>
            <div id="footer">
                footer
            </div>
        </div>
    </body>
</html>

上边例子为经典常用的样式设置,其中body中设置margin为0,以清除页边距,设置padding为0以保证浏览器兼容性。

由于有些浏览器th和td的样式未继承自body,因此需要并列声明样式。即body,td,th。

2)Dreamweaver CS3之后集成了adobe的一个spry库

        Spry 框架是一个 JavaScript 库,Web 设计人员使用它可以构建能够向站点访问者提供更丰富体验的 Web 页。有了 Spry,就可以使用 HTML、CSS 和极少量的 JavaScript 将 XML 数据合并到 HTML 文档中,创建构件(如折叠构件和菜单栏),向各种页面元素中添加不同种类的效果。在设计上,Spry 框架的标记非常简单且便于那些具有 HTML、CSS 和 JavaScript 基础知识的用户使用。Spry 框架主要面向专业 Web 设计人员或高级非专业 Web 设计人员。它不应当用作企业级 Web 开发的完整 Web 应用框架(尽管它可以与其它企业级页面一起使用)。Spry可以使用XML和JSON两种格式的数据源。

具体下载地址:http://labs.adobe.com/technologies/spry/

3)css中的hack

        由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。

  CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack以及HTML头部引用(if IE)Hack,CSS Hack主要针对IE浏览器

  类内部Hack:比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等

  选择器Hack:比如 IE6能识别*html .class{},IE7能识别*+html .class{}或者*:first-child+html .class{}。等等

  HTML头部引用(if IE)Hack:针对所有IE:<!--[if IE]><!--您的代码--><![endif]-->,针对IE6及以下版本:<!--[if lt IE 7]><!--您的代码--><![endif]-->,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。

  书写顺序,一般是将识别能力强的浏览器的CSS写在后面。

        3-1)比如要分辨IE6和firefox两种浏览器,可以这样写:

  <style>

  div{

  background:green; /* for firefox */

  *background:red; /* for IE6 */

  }

  </style>

  我在IE6中看到是红色的,在firefox中看到是绿色的。

解释一下:

  上面的css在firefox中,它是认识不了后面的那个带星号的东东是什么的,于是将它过滤掉,不予理睬,解析得到的结果是:div{background:green},于是理所当然这个div的背景是绿色的。

  在IE6中呢,它两个background都能识别出来,它解析得到的结果是:div{background:green;background:red;},于是根据优先级别,处在后面的red的优先级高,于是当然这个div的背景颜色就是红色的了。

        3-2)CSS hack:区分IE6,IE7,firefox

     区别不同浏览器,CSS hack写法:

  区别IE6与FF:

  background:orange;*background:blue;

  区别IE6与IE7:

  background:green !important;background:blue;

  区别IE7与FF:

  background:orange; *background:green;

  区别FF,IE7,IE6:

  background:orange;*background:green;_background:blue;

  background:orange;*background:green !important;*background:blue;

  注:IE都能识别*;标准浏览器(如FF)不能识别*;

  IE6能识别*,某些情况下不能识别 !important

4)布局元素向左、向右、居中等布局

        有三种常用方法:

 4-1)设置text-align//只支持IE浏览器,不是W3C标准,因此慎用

 4-2)设置float属性

 4-3)设置position:absolute,然后再设置ltrb四个属性

图片布局:

1)图像两种引入方式 

 <img src="test.gif"/>或者<object data="images/logo.gif"/>

 Ie不支持object方式。firefox等支持。w3c曾经想通过object方式取代img,但是苦于img已经深入人心

2)边框样式的含义:

dotted:显示为点线;

dashed:显示为虚线;

solid:显示为实线;

double:显示为双线边框,两条单线与间隔的和等于border-width的值;

groove:根据border-color的值绘制3d凹槽;

ridge:根据border-color的值绘制3d凸槽;

inset:根据border-color的值绘制3d凹边;

outset:根据border-color的值绘制3d凸边。

3)为图像增加阴影

3-1)针对IE浏览器可以使用filter或者apha滤镜效果

<div style="filter:shadow(color:red,direction=135);padding:12px;position:absolute;">
  <img src="test/1.gif" style="border:solid 1px #00ff00"/>
 </div>

3-2)考虑到兼容性,建议现在图像编辑器中设计好阴影背景图像,然后使用background属性把阴影图像图钉到图像的某个边上即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值