今天阅读《锋利的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. 【C++】继承(虚基类)

    类的继承与派生 面向对象技术强调软件的可重用性,这种重用性通过继承机制来实现.而在类的继承过程中,被重用的原有类称为基类,新创建的类称为派生类.派生类定义语法格式如下: class <派生类名& ...

  2. Java程序设计之Constructor

    插入段代码,下次回忆吧. 先新建一个Person类,代码如下: public class Person { private String name ; private int age; public ...

  3. ubuntu源笔记

    比如说清华大学的ipv6镜像源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ /etc/apt/sources.list为包管理工具apt的软件包 ...

  4. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. 超简单——自己搭建ftp服务器

    自己搭建ftp服务器 之所以没选择serv-u,一是因为收费,虽说网上有破解版,但是使用过程中发现破解版很不稳定,经常异常死掉,随后改选用免费的filezilla. 1软件获取 从百度搜索 FileZ ...

  6. [LeetCode] Compare Version Numbers 版本比较

    Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 &l ...

  7. [LeetCode] String to Integer (atoi) 字符串转为整数

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  8. Mysql查询——深入学习

    1.开篇 之前上一篇的随笔基本上是单表的查询,也是mysql查询的一个基本.接下来我们要看看两个表以上的查询如何得到我们想要的结果. 在学习的过程中我们一起进步,成长.有什么写的不对的还望可以指出. ...

  9. C#扩展方法

    扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法就相当于一个马甲,给一个现有类套上,就可以为这个类添加其他方法了. 马甲必须定义为stati ...

  10. RecycleView 实现多布局

    最近的一个新需求,简单描述下吧: 需求: 目标样式如图所示,我们需要根据需求动态添加网关和设备. 目标有了下面就是怎么实现了.首先我们选用的是RecycleView 那么主要目标就成了 在recycl ...