• <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    其实就是把IE8当做IE7用 

    今天修改了关于前端测试的工具的文章《模拟多浏览器兼容测试工具-IETester》可以到http://tommyhu.cn/analog-multi-browser-compatibility-testing-tool-ietester_9305/访问!文中推荐的是经典的IETester(提供IE5,IE6,IE7,IE8环境测试),IEcollection,Expression Web SuperPreview 测试版
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    未来兼容性中的 META 标记和锁定注意:本文档是预备文档,随时可能变更。

    对于 Web 开发人员来说,文本兼容性是一个要考虑的重要问题。Windows Internet Explorer 8 引入了文本兼容性模式,该模式允许 Web 开发人员将浏览器设置为以与旧版本相同的方式显示网页,从而允许开发人员选择更新时间。

    本文档将介绍由 Windows Internet Explorer 8 支持的文本兼容性模式,以及如何使用自定义标头基于每个页面或每个站点实现这些模式。实现适当的兼容性模式后,可以确保站点与 Windows Internet Explorer 8 及更高版本兼容。

    各种兼容性模式
    Windows Internet Explorer 8 支持多种兼容性模式,它们可启用不同的受支持的功能,并影响内容的呈现方式。例如,

    IE5 模式呈现内容时,像是使用了 Windows Internet Explorer 7 的 Quirks 模式,这与 Windows Internet Explorer 5 显示内容的方式很相似。

    IE7 模式呈现内容时,无论页面是否包含 指令,都像是使用了 Windows Internet Explorer 7 的标准模式。

    EmulateIE7 模式通知 Windows Internet Explorer 使用 指令确定如何呈现内容。标准模式指令以 Windows Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循 指令。对于多数网站来说,它是首选的兼容性模式。

    IE8 模式最大限度地支持行业标准(包括 W3C Cascading Style Sheets Level 2.1 Specification 和 W3C Selectors API,并能有限支持 W3C Cascading Style Sheets Level 3 Specification(工作草案)。

    Edge 模式通知 Windows Internet Explorer 以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。对于 Windows Internet Explorer 8,这与 IE8 模式是等效的。如果(假定)Windows Internet Explorer 的未来版本支持更高级别的兼容模式,设置为 Edge 模式的页面将显示在由该版本支持的最高级别模式中;但是,当使用 Windows Internet Explorer 8 查看时,这些相同的页面仍将显示在 IE8 模式中。由于在 Windows Internet Explorer 的未来版本中呈现页面内容可能出现意外,建议 Web 开发人员将 Edge 模式仅用于测试页面和其他非生产活动。

    基于每个页面指定兼容性模式
    要为网页指定文本模式,请使用 META 元素,以在该网页中包含 X-UA-Compatible http-equiv 标头。以下示例指定了 EmulateIE7 模式兼容性。


    HTML:<html>
         <head>
         <!-- Mimic Internet Explorer 7 -->
            <title>我的网页</title>
            <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
         </head>
         <body>
            <p>内容在此处。</p>
         </body>
    </html>


    Content 属性指定了该页面的模式;例如,要模仿 Windows Internet Explorer 7 的行为,请指定 IE=EmulateIE7。同样,可指定 IE=5、IE=7 或 IE=8 以选择其中一种兼容性模式。您还可以指定 IE=edge 以通知 Windows Internet Explorer 8 使用最高级别的可用模式。

    X-UA-compatible 标头不区分大小写;但是,它必须显示在网页中除 TITLE 和其他 META 元素以外的所有元素之前的标头(HEAD 部分)中。

    基于每个站点指定兼容模式
    通过使用 Web 服务器为站点定义自定义 HTTP 响应标头,可为网站指定文本模式。HTTP 响应标头是 Web 服务器附加到为响应 HTTP 请求而发送到浏览器中的文件的信息,这些信息通常包含发送回文件的日期、大小和类型。

  • 这种做法是通过在页面增加一隐藏控件来取得记录id

    ----------------------华丽的分割线----------------------

    <asp:TemplateColumn HeaderText="删">
       <HeaderStyle Width="30px"></HeaderStyle>
       <ItemTemplate>
           <input type="hidden" id="SelectedID" runat="server" value='<%#DataBinder.Eval(Container.DataItem,"Magid")%>' name="SelectedID"/>
           <asp:CheckBox Runat="server" ID="chkDelete"></asp:CheckBox>
       </ItemTemplate>
    </asp:TemplateColumn>

    ----------------------以上是aspx页面代码----------------------

        // 装ID的容器
        ArrayList aidList = new ArrayList();
        // 取得要删除记录的ID
        foreach(DataGridItem dgtItem in dtgShowData.Items)
        {
         // 找到每一行的CheckBox控件
         CheckBox tempCheckBox = (CheckBox)dgtItem.FindControl(ConstClass.CHECKBOX_ID);
         // 判断是否被选中
         if(tempCheckBox.Checked == ConstClass.BOOL_TRUE)
         {
          // 取得记录ID
          string intID = ((HtmlInputHidden)dgtItem.FindControl("SelectedID")).Value;
          // 添加ID
          aidList.Add(intID);
         }
         }

    ----------------------以上是cs文件代码----------------------

  • <style>

    table { table-layout: fixed;  word-wrap:break-word; }

    div { word-wrap:break-word; }

    </style>

    语法:
     
    word-wrap : normal | break-word
     
    参数:
     
    normal :  允许内容顶开指定的容器边界
    break-word :  内容将在边界内换行。如果需要,词内换行(word-break)也行发生

  • 使用CSS定义背景图片在页面中居中,把如下代码加入<head>区域中

    <STYLE TYPE="text/css">
    <!--
    BODY {
    background-image: URL(picture1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    }
    -->
    </STYLE>

    解释:

    background-position -- 背景图片在屏幕中的位置

    background-repeat -- 背景图片是否重复平铺

    background-attachment -- 定义背景图片随滚动轴的移动方式

    • 取值: scroll | fixed | inherit
      • scroll: 随着页面的滚动轴背景图片将移动
      • fixed: 随着页面的滚动轴背景图片不会移动
      • inherit: 继承
  • 挺喜欢一句话博客的,可以随时随地的记录下当时的心情当时的思想。简简单单的一句话,正是浓缩了的精华。不像这样的博客,用很长的时间来思考,却写出来一堆罗里啰嗦的文字,还经常搞不清自己到底想说什么。所以,比较喜欢写短句,写短小的散文诗歌。精致到每一个字,都是思想的精华。

    想当年,知道了饭否,于是长期安家于此。无奈,饭否不知因何原因关闭了,那些数据也未得保存,有些遗憾。本来都打算搬家到腾讯滔滔了,貌似还是不太习惯,除了QQ签名和心情自动搬到滔滔,用手机还真没写几条。

    新浪微博,类似饭否、滔滔的东东,天天叫喊着,内测呢,快来申请入住吧。终于禁不住诱惑住进去了。可能是因为刚刚内测的原因,很多功能还不健全。但凭着新浪的人气,已经有不少名人明星大腕住进去了,也算是一种广告手段吧。咱也不想成为他们的粉丝,跟在屁股后面尖叫着。只是随时随地的写自己想写的东西,很有可能,那些就是我思想的闪光点哦!

    我的新浪微博网页地址:http://t.sina.com.cn/tonee

    我的新浪微博手机地址:http://t.sina.cn/tonee

    ps: 原来内测阶段必须登录才能访问。。。

    ps: 咱的头像熟悉吗,嘿嘿~

  • <table cellpadding="0" cellspacing="0" width="72%" height="30" border="0">
    <tr>
    <td width="33%" height="800" style="filter:progid:DXImageTransform.Microsoft.Gradient
    (startColorStr='#b90000', endColorStr='#1b0000', gradientType='0')">1</td>
    <td width="33%" height="300" style="filter:progid:DXImageTransform.Microsoft.Gradient
    (startColorStr='#FFFFFF', endColorStr='#3568CC', gradientType='1')">2</td>
    <td width="33%" height="300" style="filter:progid:DXImageTransform.Microsoft.Gradient
    (startColorStr='#FFFFFF', endColorStr='#3568CC', gradientType='2')">3</td>
    </tr>
    </table>

     

  • 【偶得语录】压力

    压力

    就如同方砖

    一块一块的摞起来

    不知何时,停下来回首

    背上已经砌成了一堵墙

    短暂的歇息之后,挺一挺腰板

    继续前行 

  • ---------------------------
    Microsoft VS2003 开发环境
    ---------------------------
    试图运行项目时出错: 无法在 Web 服务器上启动调试。您没有调试该服务器的权限。
    验证您是服务器上“Debugger Users”组的成员。
    ---------------------------
    VS2003下,项目调试时,突然出现上述错误提示,搜索众多关于此类的技术文章,大多是要注册.net framework 1.0.3705。在命令行中运行下述语句:

    C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i

    然而,本地该文件夹下却只有寥寥数个文件,注册不能。查看IIS属性,应用的却是v1.1.4322版本。按照一些文章中所描述的,在用户管理中为其添加隶属用户组Administrators和Debugger Users,用设置IE安全选项,折腾了两天都没搞定。重新安装IIS,重新安装.net framework 1.1,重新安装VS2003,问题仍然不能解决,崩溃!

    突然发现某篇文章有这样的更改:

    原因:IE没有使用当前的登录用户
    解决方法:
    1、将 http://localhost/ 从可信站点删去,加到intranet

    2、在IE选项->"安全设置"->"可信站点"->"自定义级别"里有"用户验证",确认选中"自动使用当前用户名和密码登录"。

    经测试,调试正常了。但点击按钮的时候又提示“不允许发送HTML表单”,崩溃!!!据说是安全等级太高的缘故。将http://localhost/ 更改到可信站点中,又正常了。实在搞不懂出了什么问题?!期盼有高手能解决!

  •      你以前一定听过这种话:数码相机(以下用DC)无所不能。你只要按下按钮,一张伟大的照片就会变魔术般展现在你面前。相机越好,照出来的照片越好。果真如此吗?见鬼,当然不是了!

         事实是你可以用一个简单的消费级傻瓜DC拍出一张伟大的照片,也可以用最贵的DC拍出一张垃圾照片。漂亮的照片不是相机搞出来的,而是摄影师搞出来的。只要有一些拍摄方面的知识,再加上不断改进的愿望,你可以用你的小DC拍出能登上时代周刊的大照片。

         为了帮助你在成为伟大摄影师的道路上快步前行,这里送给你10个技巧,它们会让你即使不花大价钱买昂贵的设备也能像专业人士一样拍照。

    1.暖化你的照片

         你注意过有些时候你拍的照片有一种冷冷的感觉吗?如果答案是肯定的,那你并不是孤独呵呵。DC的默认白平衡设置是“自动(auto)”,虽然在大部分情况下都是适用的,但有时候却会让景物太“冷”了。

         当你拍户外景物的时候,特别是当阳光充足时,试着把你的白平衡调到“多云(cloudy)”那一档。对,就是“多云”那一档,这个变化跟在你的镜头前加一个暖色滤镜的效果是一样的。它使得照片中红色和黄色的更加丰满,从而暖化了这张图片。

         如果你不相信我,那就试试吧。在户外分别用自动白平衡和多云白平衡拍两组照片,然后在你的电脑上对比着看,我猜你一定会喜欢看上去暖洋洋的那一组的。

    2.用太阳镜做偏振镜

         如果你真的想让你的照片有冲击力,那就随手带一个偏振镜吧。偏振镜是每个摄影师都必备的滤镜,它可以过滤掉眩光和那些意外的反射光,让你的照片的更加富有饱和度,特别是对天空最有效果。

         你说什麽?你的DC不能加滤镜。别失望,我有个绝招,在我的傻瓜DC上使用多年了。如果你有一副质量还过得去的太阳镜的话,只要把它摘下来放在你的镜头前就OK啦,这就是你的偏振镜哈哈。当然要让他们尽量靠近你DC的镜头,别这块儿挡住那块儿没挡住的。

         要想获得最好的效果,就让你的任意一个肩膀对准太阳,极化(polarizing)的效果在光源同被拍摄物呈90度角的时候是最好的。

    3.户外人像的闪亮风采

         数码相机没有被发现的特性之一就是强制闪光模式(fill flash or flash on)。通过手动控制闪光灯,而不是让DC自己决定什么时候该闪什么时候不该闪,你就在创造出伟大的户外人像照片的道路上迈进了关键的一步。

         在强制闪光模式下,相机首先对背景曝光,接着会恰到好处的照亮你要拍的人物(这句话有点儿别扭)。结果是一个看上去很专业的照片,每样东西都看上去那么舒服。其实婚礼摄影师一直在用这个技巧(以前还奇怪他们为啥大白天的用闪光灯)。


         当你使用这个技巧时,你可以让你的模特站在不同的光路上,比如测光,甚至逆光,你会拍到那种头发边缘闪闪发光的照片,而且这样你的模特就不必为太阳光的耀眼而眯缝眼睛了,当然他们看上去也就更自然。

         记住,大多数相机内建的闪光灯只有10英尺(3.05米)甚至更短,所以你千万别站得离你的模特太远。

    4.令人疯狂微距模式

         还记得你小时候在你脚下的草丛中发现了一个崭新世界时的情形吗?当你靠近地面,你看到了你从没看到过的一个庞大的生物世界。

         现如今,你可能不想再那样把你腐败的肚子贴到你家后院的草皮上了,但是如果你打开微距模式(close up),开始更加细致地探索那个微观世界,你会得到巨大的回报,那就是你从没拍摄到的崭新的内容。

         即使是最简单的物体,在微距模式下也会展现出迷人的新面容。最美妙的是,DC是最擅长干这个的了。

         找到微距模式的按钮,它常常是一朵小花的样子,按下去打开微距模式,然后在相机允许的范围内尽量靠近你想拍摄的东西,一旦你构好图了,半按快门让相机对焦,对焦完毕之后,按下快门拍照。

         记住在微距模式下,你将获得很浅的景深(就是那种背景虚化很厉害的效果),所以把焦距调到你要拍摄的物体身上是很重要的。
    (译者补充:微距模式对焦距是有要求的,一般大变焦的相机在长焦端微距模式失效,大家注意)

    5.总是很受伤的水平线

          由于一些神秘的原因,绝大多数的人类在拿着他们带有LCD的DC拍摄时,无法把相机端平,造成的结果就是歪斜的日落,倒向一边的地平线和随处可见的比萨斜塔。

         一部分的原因是,相机的镜头在LCD上成像时会产生畸变,你看上去竖直挺拔的大树,在镜头中会呈现向内弯曲的样子。

         你该怎么办呢?首先记住没有一劳永逸或者到处适用的方法,但是你可以通过记住一些诀窍来得到提高。

         首先,要意识到把该是水平的尽量拍水平了是一件很重要的事情。如果你在构图上有麻烦,试着保持你的相机水平,然后轻轻地水平旋转一个细微的角度再拍一张,当然你可以再拍几张,然后把这几张对比一下,也许会有一张是让你感觉正确的。

         如果你经常练习拍出水平照片的技术,慢慢地这就会变成一种习惯,然后你会发现你的风景照上了一个档次。

    6.MMC卡

         购买足够大的存储卡,这样你就不会因为卡满了而错过好照片了。
    (译者注:现在的存储卡那叫一个便宜啊……这个已经不是问题了。)

         7.总是使用最高的分辨率

         买大容量存储卡的另一个重要理由是,它让你能使用你相机的最大分辨率。

         一定要设置到最高分辨率,因为如果你不小心拍到了一张伟大的照片,你不会想仅仅在电脑上跟人分享吧。
    (译者注:我总是把相片质量设置到最高,极精细的那一档,虽然照片的大小急剧增加,但是真如作者所说,这样做肯定不会后悔)

    8.迷你三脚架

    我曾经偶尔听到有些人说:“他一定是专业的,因为他用三脚架呢。”当然,用不用三角架跟你的拍照水平无关,但,这个有三条腿的家伙确实很有用。

    问题在于三脚架携带起来太累赘了。

    对于DC的使用者来说有一个好消息,UltraPod II,这种迷你三脚架可以收起来放在你的口袋里,它可以单独使用,也可以绑在一些物体上使用(比如绑在栏杆上)



    9.自拍模式的乐趣

    现在你手上有了迷你三脚架了,你就可以尝试另一个没有被开发出来的功能了:自拍模式(self timer就是那个定时拍)。这个功能让你按下快门后过一段时间再拍照(最多10秒),它解决了另一个困扰人们多年的问题——没有摄影者的全家福。

    嗨,别觉得你丑就不想出现在合影当中,你可以把相机交给陌生人让他帮忙,当然,你要承担他们不可靠的风险。

    自拍模式就是替代方案,用三脚架固定好相机,调整好各项设置,按下快门,然后迅速站到你预设的位置上,等一会儿就OK了。

    自拍模式还有更强大的威力呢!当你用长时间曝光拍摄夜景时(比如那种马路上留下车灯痕迹的诡异照片),为了避免你用手按快门时造成相机震动使得照片模糊,你可以用自拍模式完美地克服这个问题。

    10.长时间曝光下的流水

    我拍的照片即使再美妙,也很难让我的家人看上眼。但还是有一个例外,最近我的妹妹在对我的一组以水为主题的照片评价时,说它们就像画一样,你要知道,这就是对我极大的赞美了。

    她说的是我最喜爱的一种照片:用慢镜头拍水。就是用慢速快门,拍那种流动的水,创造出一种柔和且动态的感觉。



    把你的相机放在三脚架上,强制慢速曝光(比如1秒或者更长),然后你就能得到这种像画一般的流动的水幕。(佳能PowerShot G2,光圈优先模式,f8,快门速度1秒,偏振镜,迷你三脚架)

    因为较长的曝光时间,所以你需要一个三脚架来保持稳定,当然还要使用自拍模式了,使用光圈优先模式,然后把光圈设置到f8甚至更小,这将会使你获得很大的景深,同时让快门也慢下来。拍那种背阴处的流水,日光下的流水可不允许你用那么长的曝光时间。

    另一个小技巧是把你的太阳镜放在镜头前,除了偏振镜的作用,它还能阻挡一些日光从而让你获得更长的曝光时间成为可能。

    最后的思考

    大部分DC,即便是最傻瓜的DC,也有很多内建的功能。通过一些技巧和创造,你拍出的照片就会让人不禁发问:“你用什么机子拍的啊!?”

    你当然要告诉他们实情了,毋庸置疑你将获得惊讶和赞美,但是内心深处你要明白,这么好的照片是你拍的而不是相机拍的,人是最关键的。

  • 当鼠标在图片上滑过时,改变图片CSS滤镜透明度

    /* 图片透明度(0-100) opacity=100 */
    /* 持续时间(秒)   duration=1 */

    <style type="text/css">
    <!--
    .blendTrans {
        filter:alpha(opacity=100) blendTrans(duration=1)
    }
    -->
    </style>
    <script language="JavaScript" type="text/JavaScript">
    function over(){
    with(event.srcElement.filters){
       blendTrans.apply();
       alpha.opacity=60;
       blendTrans.play();
    }
    }

    function out(){
    with(event.srcElement.filters){
       blendTrans.apply();
       alpha.opacity=100;
       blendTrans.play();
    }
    }
    </script>

    <img src="images/newspic.jpg" width="670" height="151" border="0" class="blendTrans" onmouseover="over()" onmouseout="out()" />

  • 方法一:

    一般情况,默认的div是写一个换一行,那么如何定义两个div横向排列而不换行呢?

    div默认的display属性是block。所以每一个div都是新的一行,现在把display换成inline就不会换新行了。

    <div style="background-color:#ff0000;display:inline;">aaa</div>
    <div style="background-color:#ffff00;display:inline;">bbb</div>

    方法二:

    如何定义两个div横向排列,并且单元格居右?

    这里使用float:right属性。float做为CSS中的一个属性定义元素向哪个方向浮动。

    float:right 文本或图像会移至父元素中的右侧。

    <td class="bg10">
      <div style="width:120px; float:right;">阅读次数:9999</div>
      <div style="width:200px; float:right;">发表日期:2009-09-10</div>
    </td>

    .bg10 {
     background-image:url(../images/news_r6_c4.jpg);
     height:24px;
     line-height:24px;
     color:#939393;
    }

    height:24px; 和 line-height:24px; 高度一致,文字垂直居中。

    附图:dw中显示的效果

  • 1. css 字体简写规则

    当使用css定义字体时你可能会这样做:

    font-size: 1em;
    line-height: 1.5em;
    font-weight: bold;
    font-style: italic;
    font-variant: small-caps;
    font-family: verdana,serif;

    事实上你可以简写这些属性:

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

    现在好多了吧,不过有一点要注意:使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight,font-style,font-varient)如未指定将自动使用默认值。

    2. 同时使用两个class

    通常我们只为属性指定一个class,但这并不等于你只能指定一个,实际上,你想指定多少就可以指定多少,例如:

    <p class="text side">...</p>

    通过同时使用两个 class(使用空格而不是逗号分割),这个段落将同时应用两个 class 中制定的规则。如果两者中有任何规则重叠,那么后一个将获得实际的优先应用。

    3. css中边框(border)的默认值

    当编写一条边框的规则时,你通常会指定颜色、宽度以及样式(任何顺序均可)。例如:border: 3px solid #000(3像素宽的黑色实线边框),其实这个例子中唯一需要指定的值只是样式。假如你指定样式为实线(solid),那么其余的值将使用默认值:默认的宽度为中等(相当于3到4像素);默认的颜色为边框里的文字颜色。如果这正是你想要的效果,你完全可以不在css里指定。

    4. !important会被IE忽略

    在 css 中,通常最后指定的规则会获得优先权。然而对除了IE以外的浏览器来说,任何后面标有 !important 的语句将获得绝对的优先权,例如:margin-top: 3.5em !important; margin-top: 2em。

    除IE以外所有浏览器中的顶部边界都是3.5em,而IE为2em,有时候这一点很有用,尤其在使用相对边界值时(就像这个例子),可以显示出IE与其他浏览器的细微差别。(很多人可能还注意到了css的子选择器也是会被IE忽略的)

    5. 图片替换的技巧

    使用标准的html而不是图片来显示文字通常更为明智,除了加快下载还可以获得更好的可用性。但是如果你决心使用访问者的机器中可能没有的字体时,你只能选择图片。

    举例来说,你想在每一页的顶部使用“Buy widgets”的标题,但你同时又希望这是能被搜索引擎发现的,为了美观你使用了少见的字体那么你就得用图片来显示了:

    <h1><img src="widget-image.gif" alt="Buy widgets" /></h1>

    这样当然没错,但是有证据显示搜索引擎对真实文本的重视远超过alt文本(因为已经有太多网站使用alt文本充当关键字),因此,我们得用另一种方法:<h1><span>Buy widgets</span></h1> ,那你的漂亮字体怎么办呢?下面的css可以帮上忙:

    h1 {
     background: url(widget-image.gif) no-repeat;
    }
     
    h1 span {
     position: absolute;
     left:-2000px;
    }

    现在你既用上了漂亮的图片又很好的隐藏了真实文本——借助css,文本被定位于屏幕左侧-2000像素处。

    6. css盒模型hack的另一选择

    css盒模型hack被用来解决IE6之前的浏览器显示问题,IE6.0之前的版本会把某元素的边框值和填充值包含在宽度之内(而不是加在宽度值上)。例如,你可能会使用以下css来指定某个容器的尺寸:

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

    然后在html中应用:<div id="box">...</div>,盒的总宽度在几乎所有浏览器中为150像素(100像素宽度+两条5像素的边框+两个20像素的填充),唯独在IE6之前版本的浏览器中仍然为100像素(边框值和填充值包含在宽度值中),盒模型的hack正是为了解决这一问题,但是也会带来麻烦。更简单的办法如下:

    css:
     
    #box {
     width: 150px;
    }

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

    html:
     
    <div id="box"><div>...</div></div>

    这样一来在任何浏览器中盒的总宽度都将是150像素。

    7. 将块元素居中

    假设你的网站使用了固定宽度的布局,所有的内容置于屏幕中央,可以使用以下的css:

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

    你可以把html的body之内任何项目置于<div id="content"></div>中,该项目将自动获得相等的左右边界值从而保证了居中显示。不过,这在IE6之前版本的浏览器中仍然有问题,将不会居中,因此必须修改如下:

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

    对body的设定将导致主体内容居中,但是连所有的文字也居中了,这恐怕不是你想要的效果,为此#content 的div还要指定一个值:text-align: left。

    8. 使用css实现垂直居中

    垂直居中对表格来说是小菜一碟,只需指定单元格为 vertical-align: middle 即可,但这在css布局中不管用。假设你将一个导航菜单的高度设为2em,然后在css中指定垂直对齐的规则,文字还是会被排到盒的顶部,根本没有什么区别。

    要解决这一问题,只需将盒的行高设为与盒的高度相同即可,以这个例子来说,盒高2em,那么只需在css中再加入一条:line-height: 2em 就可实现垂直居中了!

    9. 容器内的css定位

    css的最大优点之一就是可以将对象定位在文档的任何位置,同样的也可以将对象在某容器内进行定位。只需要为该容器添加一条css规则:

    #container {
     position: relative;
    }

    则容器内的任何元素的定位都是相对于该容器的。假定你使用以下html结构:

    <div id="container"><div id="navigation">...</div></div>

    如果想将navigation定位在容器内离左边界30像素,离顶部5像素,可以使用以下css语句:

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

    10. 延伸至屏幕底部的背景色

    css的缺点之一是缺乏垂直方向的控制,从而导致了一个表格布局不会遇到的问题。假设你在页面的左侧设定了一列用于放置网站的导航。页面为白色背景,但你希望导航所在的列为蓝色背景,使用以下css即可:

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

    问题在于导航项不会一直延伸到页面的底部,自然它的背景色也不会延伸到底部。于是左列的蓝色背景在页面上被半路截断,浪费了你的一番设计。怎么办呢?很不幸我们现在只能用欺骗的办法,即将body的背景指定为与左列同颜色同宽度的图片,css如下:

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

    背景图应为宽150像素的蓝色图片。这一办法的缺点是没法使用em来指定左列的宽度,当用户改变文字的大小导致内容的宽度扩张时,背景色的宽度不会随之改变。到写这篇文章为止这是对这类问题的唯一解决办法,因此你只能为左列使用像素值来获得能够自动延伸的不同的背景色。注:文章深入浅出,简单扼要,可能未能详尽,但已深得我心!哈:)

    另:CSS Hack 浏览器兼容一览表

    CSS Hack 是指我们为了兼容各浏览器,而使用的特别的css定义技巧。

    CSS Hack

  • 喜欢和宝贝在一起!
    喜欢听到宝贝的声音!
    喜欢看到宝贝开心的笑脸!
    为什么,和宝贝在一起聊天在一起散步时,时间总过得那样飞快?
    我想伸出手拽住时间的一角,让时间走慢点!
    可是,时间太轻盈,绕开我的手臂又匆匆而过!
    我因此格外的珍惜和宝贝在一起的每一分每一秒。
    哪怕有时只是手牵手静静的坐着。
    宝贝对我很好,很体谅我!
    总会有几天执意让我离开宝贝的身边去陪陪爸妈。
    只是习惯了和宝贝在一起的时间,我独自一人又该如何度过?
    时间又在我想着宝贝的发呆中匆匆溜走。
    回过神来,又是那么晚了!
    宝贝对不起,以后不会让你等太久睡去!
    宝贝晚安!
    宝贝我爱你!!!!­

  • 善事不分大小,即使它只有5毛钱。那帮助了别人之后的心情和感受,却远非这小小的5毛钱所能换来的。

    某路公交车,上来一位腿脚不利索的老人,似乎给司机看了一眼什么证件(我想可能是残疾人证之类的)。司机提醒说,只需投5毛钱。那位老人哆嗦着掏出了一张整钱,司机说没法找零,投零钱吧,老人说身上没有零钱。司机接着说了一声那就对不起了,车便靠路边停了下来并打开了车门。老人什么都没说,艰难的转身往下迈了一步。我知道,那老人很无奈的要下车了。

    周围那么多乘客只是平淡的看着这一幕发生,而我却觉得心痛。“不要下车,我有5毛钱!”我冲那老人喊道,那老人停住了,同时,我也感到了周围乘客的目光移到了我的身上。我找到了5毛钱递给老人,老人颤微微的接过去,并说了声谢谢。我能看到老人眼神里流露出的感激。

    投了钱车继续行驶。周围那些乘客依然一脸的平静,便如同这事就从来没有发生过一般,而我的内心却久久不能平静。我帮助了那位老人,也算是做了一件小小的善事,那是和平时不一样的心情,不一样的感受。同时,我又有些感叹这个社会的麻木了,难道你们仅仅5毛钱也拿不出吗?不,这不仅仅是小小的5毛钱,而是一份社会公德心,一份乐于助人的心。

    值得庆幸的是,在这个物欲横流的社会里,我还没有被同化。做了善事帮助了别人,我对得起自己的良心。