IE7的web标准之道 Ⅱ(6)

作者:阿一 来源:JustinYoung's Blog 时间:2008-08-13 12:50:00 

讲完了“伪类”,下面来讲讲“伪对象”。首先“伪对象”也是“伪”,自然也必须依附其他元素,而不能单独存在。而“对象”则意味着“有实体”的东西。最常用的“伪对象”就是“:first-letter”(子对象的第一个字)和“:first-line”(子对象的第一行)。下面的示例将有助你理解“:first-letter”和“:first-line”伪对象。


<!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=utf-8" />
    <meta name="Keywords" content="简单的XHTML页面" />
    <meta name="Description" content="这是一个简单的XHTML页面" />
    <title>简单的XHTML页面</title>
<style type="text/css">
#div1:first-letter{
    font-size:200%;
}
#div1:first-line{
    color:red;
}
</style>
</head>
<body>

<div id="div1">
    第一行内容,注意这一行的第一个字。<br/>
    第二行内容
</div>

</body>

</html>


下面是IE6和IE7的显示效果截图:


图:IE6不支持“伪对象”,而IE7已经支持

关于“:first-line”对特别注意

  1. 伪对象“:first-line”指定是第一行,而不是第一段。行的划分是利用<br/>标签,而“段”的划分是利用<p>标签。“:first-line”并不会对<p>标签划分的段落使用样式。

  2. 这个比较变态——因为容器的宽度过小,而使得第一行“放”不下,而“挤”到第二行的内容,将失去伪对象“:first-line”设置的样式 -_-b... 看下面的截图,将更有助于你的理解。依然是上面的那个示例,但是当将浏览器的宽度缩小一定程度时,第一行的文字被“挤”到了第二行,同时失去了伪对象“:first-line”指定的样式(红色字体颜色)。


图:被“挤”下来的文字,将失去伪对象“:first-line”设置的样式

后记

这些IE6不支持,IE7才支持的高级选择符,也是搞定IE6和IE7网页兼容性的有效手段之一。甚至一些朋友直接误以为这些高级选择符,就是CSS hack的一种。其实,这些不是CSS hack,而是一种改进,一种升级。所以,使用“高级选择符”手段达到IE6和IE7的兼容性的方法,可以放心的使用,不会有css hack的后顾之忧,在微软后续的浏览器中一定会支持的。

开动自己的脑袋,利用这些丰富的选择符,将能够实现更多,更强大的效果。IE7只是将舞台帮我们搭好了,如何唱一出好戏,则是靠大家一起的努力了。

IE7改进了很多的东西,“更丰富的选择符支持”只是其中比较耀眼的一颗而已。对于其他的,我将在后续的《IE7的web标准之道》系列文章中继续和大家一起探讨,还请各位朋友以后多多指教。

标签:选择符,ie7,标准
0
投稿

猜你喜欢

  • 用VB编写ActiveX DLL实现ASP编程

    2008-10-21 21:28:00
  • python计算最小优先级队列代码分享

    2022-12-05 03:26:50
  • OpenCV实现机器人对物体进行移动跟随的方法实例

    2023-04-20 08:50:49
  • 详解Python IO编程

    2021-06-26 08:40:48
  • 兼容Firefox的点击复制js代码

    2008-08-28 12:17:00
  • Python中__slots__属性介绍与基本使用方法

    2023-11-22 02:45:59
  • Python利用psutil实现获取硬件,网络和进程信息

    2023-08-12 18:37:44
  • python使用pdfminer解析pdf文件的方法示例

    2023-07-31 00:36:47
  • windows开发记事本程序纪实(二)逻辑篇1

    2022-05-15 10:52:51
  • MySQL分区之KEY分区详解

    2024-01-26 16:24:54
  • python中jieba模块的深入了解

    2023-01-25 05:08:47
  • 超详细,教你用python语言实现QQ机器人制作教程

    2023-10-05 10:12:53
  • python梯度下降算法的实现

    2022-01-25 11:11:09
  • WEB开发中合理选择图片格式

    2011-09-22 20:32:06
  • Python中装饰器高级用法详解

    2023-09-30 09:46:42
  • 制作主页的独门功夫五十招

    2010-09-05 21:15:00
  • sql获取分组排序后数据的脚本

    2024-01-20 09:07:58
  • JavaScript中document.forms[0]与getElementByName区别

    2024-04-17 09:55:58
  • jquery实现表单验证并阻止非法提交

    2023-07-02 05:31:28
  • python使用paramiko模块实现ssh远程登陆上传文件并执行

    2021-01-09 00:35:03
  • asp之家 网络编程 m.aspxhome.com