美文网首页我爱编程
bootstrap-sass研究---预备篇:css选择器

bootstrap-sass研究---预备篇:css选择器

作者: robinhwang | 来源:发表于2013-05-07 17:02 被阅读976次

周末在家研究了一下bootstrap-sass 的源代码,发现自己对于选择器还不是很明白。
做了一些笔记和大家分享。

1. ^ => start with

a[href^="http://"] {  
    color: green;  
}  

a[href^="http://"]的意思就是:如果html中有a[href=... ]这样的元素,并且href后是以http为开头,匹配它,然后你就可以针对其写专门的css.

但是这个有一点尴尬,有时候项目写的不是很注意的话,所有的link都可能是以http开头的,这时候基本就傻眼了,但是你可以做一些来防止这样的事情发生。

a[href^="http://"] {  
    color: green;  
}  
  
a[href^="http://www.domain.com"], a[href^="http://domain.com"] {  
    color: blue;  
}  

不过这样也不是很保险,因为https这个情况还没有被包含到。

当然更不能和a[hreflang|="en"]这里面的混起来,它匹配的是以 en开头并且跟着-的,比如en-US,en-BR,当然还有它自身en

2. $ => end with

a[href$=".pdf"] {
   background: url(../images/pdf.png) no-repeat center right;  
   padding-right: 20px;  
}  

这个和上面相差不大,即是以该元素结尾。

3. * => contain with

div[class*="post-"] p {  
    color: green;  
}  

*代表包含,如果你的class里面包含了post- ,比如说post-robin, css就会对它生效

当然这个我们还是比较熟悉的嘛,毕竟我们写了很多的css都是这样的

* {
   background-color: yellow;
}

这个选择器下的css对整个页面都会生效。

不过如果单单只是这种情况的话,其实之前提到的那个方法更合适一些,即
div[class|="post"]

4. ~

a[rel~="copyright"] {
 color: green;  
}

这个是匹配的情况是当rel有很多的值,且值是用空格分割的,那么如果其中的一个值恰好是copyright,那么就会成功


5 更多的

顺便梳理下其他必须用到的,大家都复习一下吧。

h2+p代表是拥有相同父亲元素的相邻元素,当然,它们必须是邻近的!
h2~p和 + 所代表意义几乎是一样的,但是不要求两者相邻。


.parent .child {//只要.parent的后代即可,孙子元素亦可
    background-color: red;  
}  
.one > .two {//必须是直接后代,否则不会生效
    background-color: red;  
}  
div[style] {  //匹配的是<div style="xxx">
    background-color: red;  
}  
  
input[type="text"] {  //匹配的是<input type="text">
    background-color: red;  
}  

伪类

a:link    /* unvisited links */
a:visited /* visited links */
a:hover   /* user hovers */
a:active  /* active links */
a:focus
a:focus:hover
p::first-line { text-transform: uppercase }
p::first-letter { color: green; font-size: 200% }

用于不同元素的变化,这个也很有用,可以不需要再用后台语言控制样式,而这个的用法也有很多变化,感兴趣可以去查文档。

tr:nth-child(2n+1) /* represents every odd row of an HTML table */
tr:nth-child(odd)  /* same */
tr:nth-child(2n+0) /* represents every even row of an HTML table */
tr:nth-child(even) /* same */

资料引用:

  1. w3c.org selector
  2. impressivewebs css sustring-macthing

相关文章

  • bootstrap-sass研究---(2)响应式设计

    前言:这是一个系列,前面还有Bootstrap-sass研究—预备篇:css选择器 Bootstrap-sass...

  • bootstrap-sass研究---预备篇:css选择器

    周末在家研究了一下bootstrap-sass 的源代码,发现自己对于选择器还不是很明白。做了一些笔记和大家分享。...

  • bootstrap-sass研究---(1)变量

    之前有个预备篇,如果css选择器不是太了解的可以去看看。 先从github上clone下整个项目,方便研究。 首先...

  • CSS选择器

    CSS 元素选择器CSS 选择器分组CSS 类选择器详解CSS ID 选择器详解CSS 属性选择器详解CSS 后代...

  • 来了老弟,新鲜的前端基础知识回顾--CSS篇

    浩瀚星辰,莫忘心记。——Abner CSS 篇 1、CSS选择器 CSS选择器即通过某种规则来匹配相应的标签,并为...

  • CSS权重

    这篇是基于CSS选择器的,如果对选择器不太了解可以先看另一篇CSS选择器 (一)什么是CSS权重? 权重决定了你C...

  • CSS选择器

    目录: CSS派生选择器 CSS元素选择器 CSS Id 和 Class选择器 CSS 属性选择器 CSS 派生选...

  • css选择器

    css选择器】 1.css属性选择器 2.css伪类选择器 3.css层次选择器

  • CSS 选择器

    CSS 选择器 CSS 基本选择器及其扩展 CSS 基本选择器 通配符选择器 * 元素选择器 使用标签的名称...

  • Sublime 学习web的css

    html + css + js css引用 css外部样式 css优先级 css的选择器 标签选择器 类选择器 i...

网友评论

    本文标题:bootstrap-sass研究---预备篇:css选择器

    本文链接:https://www.haomeiwen.com/subject/tptxtttx.html