2.12 选择器笔记

1、nth-child(odd)与nth-child(even)
eg1:
<div>
<h2>标题</h2>
<p>内容</p>
<h2>标题</h2>
<p>内容</p>
<h2>标题</h2>
<p>内容</p>
<h2>标题</h2>
<p>内容</p>
</div>
h2:nth-child(odd){color:#f66}
h2:nth-child(even){color:#f00}
预期效果:所有H2的基数行颜色替换为#f66;偶数行为#f00;
结果:所有的H2都变为了#f66;
解析:nth-child选择器在计算子元素时第奇数个元素还是偶数个元素时,是连同父元素的所有
子元素一起计算的,换句话说就是
h2:nth-child(odd)指代的时当div中的第奇数个子元素如果时H2子元素的时候使用
eg2:
li:nth-child(odd){font-size: 18px;}
li:nth-child(even){font-size: 36px;}
<div >
<h2>标题A</h2>
<ul>
<li>标题</li>
<li>标题</li>
<li>标题</li>
<li>标题</li>
<li>标题</li>
<li>标题</li>
<li>标题</li>
</ul>
</div>
预期结果:所有李li的基数行字体大小为18px;偶数行为36px;
结果:正确
解析:当父元素是列表的时候,因为列表中只可能有列表项目一种子元素,所以不会有问题,而当父元素是div的时候,因为div的子元素中有了不止一种子元素,所以引起了问题的产生
2、nth-of-type(odd)奇数和:nth-of-type(even)偶数
将上诉代码更新之后看效果
作业:设计条纹状表格
3、循环使用样式
语法: E:nth-child(n){sRules} E":nth-last-child(n){sRules}
eg1:
<ul>
<li>1111111</li>
<li>2222222</li>
<li>3333333</li>
<li>4444444</li>
<li>555555</li>
<li>666666</li>
<li>777777</li>
<li>8888888</li>
<li>9999999</li>
<li>0000000</li>
</ul>
1)选取每一行:nth-child(n){font-size:18px;}
语气结果:每一行都为18px;
结果:正确
2)除第一行之位的所有行nth-child(n+2){color:#f66}
预期结果:除第一行之位的所有行改变颜色;
结果:正确
疑问:为什么时+2
解析:验证n+1
3)每2行选择一行:nth-child(2n){font-size:36px;}
预期结果:每一行都为36px;
结果:正确
作业:每3行选择一行;从第4行开始每隔一行选择一行;反向选择所有行、倒数第2行、最后3行
4、only-child:只有一个元素时使用
eg:
<ul class="oul1">
<li>1111111</li>
<li>2222222</li>
<li>3333333</li>
<li>4444444</li>
<li>555555</li>
<li>666666</li>
<li>777777</li>
<li>8888888</li>
<li>9999999</li>
<li>0000000</li>
</ul>
<ul class="oul1">
<li>1111111</li>
</ul>
.oul1 li:only-child{font-size:36px;}
预期结果:第2个ul的器效果;
结果:正确
5、UI元素状态伪类选择器
1)E:hover、E:active、E:focus
2)E:enabled、E:disabled
eg:
<form>
<input type="radio" id="radio1" name="radio"
onchange="radio_onchange();">可用</radio>
<input type="radio" id="radio2" name="radio"
onchange="radio_onchange();">不可用</radio>

<input type=text id="text1" disabled />
</form>
input[type="text"]:enabled{
background-color:yellow;
}
input[type="text"]:disabled{
background-color:purple;
}

function radio_onchange()
{    
    var radio=document.getElementById("radio1");
    var text=document.getElementById("text1");
    if(radio.checked)
        text.disabled="";
    else
    {
        text.value="";
        text.disabled="disabled";
    }
}
预期结果:可用为黄色,不可用为紫色
结果OK
3)E:read-only、E:read-write
eg:
<form>
    <p>姓名:<input type="text" name="name" />
    <p>地址:<input type="text" name="address" value="江苏省苏州市"
     readonly="readonly" />
    </p>
</form>
input[type="text"]:read-only{
    background-color: gray;
}
input[type="text"]:read-write{
    background-color: greenyellow;
}
input[type="text"]:-moz-read-only{
    background-color: gray;
}
input[type="text"]:-moz-read-write{
    background-color: greenyellow;
}

预期结果:姓名可以编辑,地址不可以
结果OK
4)E:checked
<form>
    兴趣:<input type="checkbox">阅读</input>
    <input type="checkbox">旅游</input>
    <input type="checkbox">看电影</input>
    <input type="checkbox">上网</input>
</form>
input[type="checkbox"]:checked {
    outline:2px solid blue;
}
input[type="checkbox"]:-moz-checked {
    outline:2px solid blue;
}
预期结果:选中为蓝色边框
结果OK
5)E:default
<form>
    兴趣:<input type="checkbox">阅读</input>
    <input type="checkbox">旅游</input>
    <input type="checkbox">看电影</input>
    <input type="checkbox">上网</input>
</form>
input[type="checkbox"]:default {
    outline:2px solid blue;
}
预期结果:默认状态为蓝色边框
结果:木有呢,不起效果
6)E:inderterminate 当用户将默认设定为选取状态的单选框或者复选框修改为非选取状态,
使用default选择器设定的样式依然有效
<input type="radio" name="radio" value="male" />男
<input type="radio" name="radio" value="female" />女
input[type="radio"]:indeterminate{
    outline: solid 3px blue;
}
预期结果:默认状态为蓝色边框
结果:ok
作业:完成一组开关按钮
7)E:selection指定当元素处于选中状态时的样式
<ul>
    <li>11111</li>
    <li>2222</li>
    <li>3333</li>
    <li>4444</li>
    <li>5555</li>
</ul>
li::selection{
    color:#f66
}

预期结果:双击文本,文字颜色改变为红色
结果:ok
疑问:当为一个:时,会发生什么样的效果?

6、相邻兄弟选择器
li + li
<ul>
<li>11111</li>
<li>2222</li>
<li>3333</li>
<li>4444</li>
<li>5555</li>
</ul>
li+li{
color:#f66
}
预期结果:从第2个li到 5 个li,一共4个
结果:ok
疑问:假如结构为
<ul>
<li class="oli">11111</li>
<li>2222</li>
<li class="oli">3333</li>
<li>4444</li>
<li class="oli">5555</li>
</ul>
样式为
.oli + li{
color:red
}
结果会显示为什么样的呢
7、通用兄弟选择器
E~F
<ul>
<li class="active>11111</li>
<li>2222</li>
<li>3333</li>
<li>4444</li>
<li>5555</li>
</ul>
.active~li{
color:#f66
}
预期结果:选取的是E后面F的元素
结果:ok
8、:lang 伪类
<p>文字<q lang="no">段落中的引用的文字</q>文字</p>
q:lang(no){
quotes: "~" "~"
}
预期结果:文字段落中的引用的文字文字
结果:ok
疑问:带有lang属性的元素有哪些
9、使用content属性来插入项目编号
用法:
<元素>:before{
content:counter(计数器名)
}
<元素>{
counter-increment:before选择器/after选择器中指定的计数器名
}
eg:
<h1>大标题</h1>
<p>示例文字。</p>
<h1>大标题</h1>
<p>示例文字。</p>
<h1>大标题</h1>
<p>示例文字。</p>
h1:before{
content: counter(mycounter);
}
h1{
counter-increment: mycounter;
}
预期结果:
1大标题
示例文字。
2大标题
示例文字。
3大标题
示例文字。
结果:ok

补充:如果要在项目编号中追加文字,比说说.   应该为
    h1:before{
    content: counter(mycounter)".";
}
h1{
    counter-increment: mycounter;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 选择器 元素选择符 关系选择符 属性选择符 伪类选择符 伪对象选择符 一、元素选择符 通配选择符 (*):选择所有...
    云外之境阅读 1,860评论 0 0
  • 1.4.2.1简单选择器 选择器 简单选择器 伪元素选择器 组合选择器 标签选择器 类选择器 .classname...
    每日活菌阅读 353评论 0 0
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,045评论 0 2
  • jQuery选择器 jQuery选择器完全继承了CSS的风格。学会使用选择器是学习jQuery的基础,jQuery...
    AuthorJim阅读 493评论 0 1
  • class 和 id 的使用场景? class写专门的class通用和私有模块命名,id具有唯一性且优先级太高,用...
    好好顽阅读 407评论 0 0