IT技术精粹[JiShuBu.Com]-倾力打造一流IT技术平台!
  • 登录
  • 注册
  • 设为首页
  • 加入收藏
  • 网站首页
  • IT风向标
  • 网站优化
  • Html
  • CSS
  • JavaScript
  • ASP
  • Php/Mysql
  • Flash
  • Ajax
  • 源码下载
  • 精美桌面
  • 供求信息
  • 超稳定100M虚拟主机只要100元,还送50M邮箱!
  • 文字广告招商中...
  • 会员注册 | 用户登录 | 我要投稿
  • 信息订阅
CSS 3 选择器解释 您现在正在浏览:首页 > CSS > 
CSS 3 选择器解释

作者: 发布时间:2008-01-19 18:06:18 来源:

Roger Johansson (这个老外仿佛是参与编订 W3C 的家伙)前几天写了一个关于CSS 3的文章:CSS 3 selectors explained 里面说了去年12月份w3c最新制定的CSS 3的新标签、新用法,我用机器翻译看着也蛮爽的,把看得懂的摘录下来,大家也学习一下先进经验。呵呵~

在CSS 3里,假设你做了一个包含以下标签结构的HTML文件:

<div id="nav-primary"></div>
<div id="content-primary"></div>
<div id="content-secondary"></div>
<div id="tertiary-content"></div>
<div id="nav-secondary"></div>

然后呢,在CSS文件里

div[id^="nav"] { background:#ff0; }

注意是“^”
CSS在这种情况下将控制[u]div#nav-primary 和div#nav-secondary[/u]。请大家注意,这两个标签前面都有 nav ,到底是以"-"做为分隔,还是把ID进行从前至后匹配就不得而知了 [sweat]

div[id$="primary"] { background:#ff0; }

注意是“$”
CSS在这种情况下将控制[u]div#nav-primary 和div#content-primary[/u]。请大家注意,这两个标签后面都有 primar ,到底是以"-"做为分隔,还是把ID进行从后至前匹配也就不得而知了 [sweat]

div[id*="content"] { background:#ff0; }

注意是“*”
CSS在这种情况下将控制[u]div#content-primary div#content-secondary 和div#tertiary-content[/u]。请大家注意,这些标签都含有 content ,到底是以"-"做为分隔,还是把ID自动扫描后匹配就更不得而知了 [sweat]

好象作者说这几个标签现在除了IE不支持,其它最新版的各种浏览器都支持了,大家可以一试,我就不试了~ [lol]

div#content-primary:target { outline:1px solid #300; }

注意那个“:target”
CSS在这种情况下将控制 http: //www.example.com/index.html#content-primary 这个锚链接(锚链接差不多可以理解就是一个网页内的链接,比较在有些网页看到的回到顶部)

作者说现在Mozilla 和 Safari浏览器支持这个

input[type="text"]:enabled { background:#ffc; }
input[type="text"]:disabled { background:#ddd; }

注意那个“[type="text"]:enabled”
这个就是控制表单的CSS了,“[u][type="text"][/u]”好象是表单里type是text的吧。。。那[u]type="password"[/u]会是啥呢?

input:checked { border:1px solid #090; }

注意那个“:checked”
这个就是控制表单的“选择”的CSS了。。。

作者说现在Opera和Mozilla浏览器支持这些

:root { background:#ff0; }
html { background:#ff0; }

大家注意那个“:root”
这个“:root”是比 html 还要高一级的标签,这个大家可以看 一叶千鸟 写的
正确认识html与body  他在文中发现了原来html 外面还有个框框,嘿嘿~

作者说现在Mozilla 和 Safari浏览器支持这个

接下来的 :nth-child() 就比较有意思了,呵呵~在括号里可以放数字和默认的字母~

p:nth-child(3) { color:#f00; }

这个意思好象是说以第一个出现的 P 为基础,只要是“3”的倍数的全部 P 都会被控制~

p:nth-child(odd) { color:#f00; }

这个意思好象是说以第一个出现的 P 为基础,然后 奇数 目的全部 P 都会被控制~

p:nth-child(even) { color:#f00; }

这个意思好象是说以第一个出现的 P 为基础,然后 偶数 目的全部 P 都会被控制~

p:nth-child(3n+0) { color:#f00; }
p:nth-child(3n) { color:#f00; }

这两个标签是等效的,因为第一个后面的0等没没起作用,他的意思就是3倍于第一个出现的 P 的 P 都会被控制~(好绕口啊,HOHO~ [rolleyes] )也就是说这个 “n” 会从0.1.2.3.4.5.6....一直取值下去~算出来多少就是多少的 P 都会被控制。。。

tr:nth-child(2n+11) { background:#ff0; }

这个如果大家理解上面的了,这个也不难理解,不过他控制的标签变成了 “tr” 这就是说表格会变得更加变化多端,感觉大家一定要小学算数得好,学得不好得快快回家再学一学小学算数去。。。(不过,这样的标签是不是加重了电脑处理的效率呢? [confused] 希望我的但心是多余的。。。)

p:last-child { background:#ff0; }

在 p 之前的一个 p 被控制 (NND,p来p去的,打pp [sweat] )

:not(p) { border:1px solid #ccc; }

这个p不被控制,自已用自带的样式的意思吧,应该是和前面的那些一起用才是。。。

p ~ ul { background:#ff0; }

ul 优先于 p 显示,这是咋个优先法,不清楚。。。

基本上我看得懂的就这些了,大家可以到下面两个网址接着学习,我有什么说错了,记得告诉我啊

  
【评论】【加入收藏夹】【大 中 小】【打印】【关闭】
※ 相关信息
无相关信息

发表评论
查看评论 
用户名: 密码:
验证码: 匿名发表
[注册帐号]
[控制面板]
[用户登陆]
[修改资料]
[用户收藏]
[我的状态]
[退出登陆]
 
文章搜索
     
    [添加文章]   [管理文章]
最新技术文档
    ·十天学会PHP之基础知识
    ·十天学会PHP之流程控制
    ·十天学会PHP之构建数据库
    ·十天学会PHP之连接数据库
    ·echo和print 的区别
    ·PHP生成随机字符串
    ·PHP取得文件后缀
    ·正则表达式经验谈
    ·PHP的Cookie技术介绍
    ·PHP数组排序
技术文档排行榜
    ·天气预报小偷,根据IP自动判断地址
    ·超经典计算机使用问题105答
    ·'AjaxPro'未定义错误的原因&javascript顺
    ·[初学者必读]网页制作之HTML基础知识
    ·DIV&CSS打造自动伸展三栏复合布局
    ·CSS网页布局入门教程:下拉及多级弹出式菜单
    ·阿里妈妈广告的投放技巧
    ·谁是网页浏览器引擎速度真正王者
    ·JavaScript:世界上误解最深的语言
    ·几种常用禁止修改输入框的方法
关于站点 - 广告服务 - 联系我们 - 免责声明 - 程序支持 - 网站地图 - 留言中心 - 返回顶部

Copyright © 2007-2008 www.Jishubu.com online services. All rights reserved. Template designed by laogui.
违法不良信息举报中心 津ICP备07002356号