今天阅读《锋利的jQuery》第二版2.6节案例研究部分的时候,遇到一个问题。

<ul>
  <li class="a1"><a href="#">佳能</a><span><li>30440</li></span></li>
  <li class="a1"><a href="#">索尼</a><span><li>27220</li></span></li>
  <li class="a1"><a href="#">三星</a><span><li>20808</li></span></li>
  <li class="a1"><a href="#">尼康</a><span><li>17821</li></span></li>
  <li class="a1"><a href="#">松下</a><span><li>12289</li></span></li>
  <li class="a1"><a href="#">卡西欧</a><span><li>8242</li></span></li>
  <li class="a1"><a href="#">富士</a><span><li>14894</li></span></li>
  <li class="a1"><a href="#">柯达</a><span><li>9520</li></span></li>
  <li class="a1"><a href="#">宾得</a><span><li>2195</li></span></li>
  <li class="a1"><a href="#">理光</a><span><li>4114</li></span></li>
  <li class="a1"><a href="#">奥林巴斯</a><span><li>12205</li></span></li>
  <li class="a1"><a href="#">明基</a><span><li>1466</li></span></li>
  <li class="a1"><a href="#">爱国者</a><span><li>3091</li></span></li>
  <li class="a1"><a href="#">其他品牌相机</a><span><li>7275</li></span></li>
</ul>

我在这里犯了一个错误:误把<li></li>里面的<i></i>写作li。当我对其应用下面的样式的时候,出现了如图的情形:

ul>li:nth-of-type(3n){
  background-color: #F7EED6;
  margin: 10px;
}

ul>li:nth-of-type(3n+1){
  background-color:#b0a4e3;
  margin: 10px;
}
ul>li:nth-of-type(3n+2){
  background-color:#00aeef;
  margin: 10px;
}

本来应该对ul的子元素li应用的样式在计算的时候把ul后代里所有的li都计算进去了。如果我们对ul>li应用样式改变它的字体大小,也会发生同样的情况。

ul/ol元素内部嵌套的li,如果没有包裹在另外一个ul或者ol里面,全部都会计算成该ul/ol的子元素。下次不要犯这个错误啦。

关于li元素嵌套的事儿的更多相关文章

  1. WEB标准系列-HTML元素嵌套

    转:http://www.smallni.com/element-nesting/ 先来看以下这样一段代码: <ul> <li><h4><a href=&qu ...

  2. HTML(二)HTML元素(整体结构,块级元素,内联元素,结构元素,交互元素,元素嵌套规则)

    HTML整体结构解释 <!DOCTYPE html> // 文件应以"<!DOCTYPE ......>"首行顶格开始,推荐使用"<!DOC ...

  3. HTML块元素与内联元素嵌套规则

    HTML存在许多种类型的标签,有的标签下面只允许特定的标签存在,这就叫HTML嵌套规则.不按HTML嵌套规则写,浏览器就不会正确解析,会将不符合嵌套规则的节点放到目标节点的下面,或者变成纯文本.关于H ...

  4. 在li元素中放入img图片时li的高度问题

    在li元素中放入img图片时li的高度会比img图片的高度多出几个像素,解决这个问题只需要将img元素的css设置成vertical-align: middle;就可以解决.

  5. 使用DOM的方法获取所有li元素,然后使用jQuery()构造函数把它封装为jQuery对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. JavaScript 操作选中当前的li元素并给他添加select类

    JavaScript 操作选中当前的li元素并给他添加select类.之前都是使用jquery写的,今天使用JavaScript写一个. <!DOCTYPE html> <html ...

  8. 二级ul li元素动态加载click事件

    一.代码 html代码: <ul class="id1" id="id1" style="width:84%; height:75%;overf ...

  9. 触发bfc解决父子元素嵌套垂直方向margin塌陷问题

    首先看一下问题案例 .wrapper{             width: 100px;             height: 100px;             background-colo ...

随机推荐

  1. java中的SPI机制

    1 SPI机制简介 SPI的全名为Service Provider Interface.大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的.在java.util.ServiceLoader的文档里 ...

  2. IIS将错误信息发送到浏览器

    本文版权归博客园和dige1993所有,访问作者博客:http://www.cnblogs.com/dige1993 最近又开始玩ASP了,调试的时候出现错误不清楚详细错误信息特别不方便,记得以前可以 ...

  3. Django基础之wsgi

    Django 一 什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演 ...

  4. [LeetCode] Non-overlapping Intervals 非重叠区间

    Given a collection of intervals, find the minimum number of intervals you need to remove to make the ...

  5. [LeetCode] Combination Sum 组合之和

    Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C wher ...

  6. virtualenv 安装使用

      不同的人喜欢用不同的方式建立各自的开发环境,但在几乎所有的编程社区,总有一个(或一个以上)开发环境让人更容易接受. 使用不同的开发环境虽然没有什么错误,但有些环境设置更容易进行便利的测试,并做一些 ...

  7. 【CodeVS 1288】埃及分数

    http://codevs.cn/problem/1288/ loli秘制面向高一的搜索,好难啊QAQ 我本来想按照分母从大到小搜,因为这样分母从小到大枚举到的第一个可行方案就是最优方案. 但貌似会T ...

  8. oracle db link的查看创建与删除

    1.查看dblink select owner,object_name from dba_objects where object_type='DATABASE LINK'; 或者 select * ...

  9. HTML 基础知识

    HTML 语言格式:1<标签名>内容</标签名> <标签名 属性>2<标签名></标签名>3<标签名/> 知识点:静态与动态网页 ...

  10. emmet的使用

    http://blog.wpjam.com/m/emmet-grammar/ 使用 Emmet 生成 HTML 的语法详解 开源程序 浏览:21537 2013年05月09日 文章目录[隐藏] 生成 ...