html - 使用 css clear 创建 css 网格 :both and nth of type

标签 html css

这是我的代码 http://jsfiddle.net/wahidpolin/b9j6ktfq/

li{
	display:inline-block;
	width: 100px;
	height: 100px;
	text-align: center;
	border: 1px solid #000;
	margin-bottom: 5px;
	float:left;
	}
li:nth-of-type(3n+1){
	background-color: yellow;
	clear:both;
	}
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>

根据我的理解,1,4,7,10 应该在一行中,因为我已经明确声明:两者都对他们来说,但事实并非如此,这里发生了什么?

最佳答案

http://jsfiddle.net/dq8c66oc/

这就是您要找的东西吗?

li {
  display: inline-block;
  width: 100px;
  height: 100px;
  text-align: center;
  border: 1px solid #000;
  margin-bottom: 5px;
  float: left;
}
li:nth-of-type(3n+1) {
  background-color: yellow;
  display: block;
  float: none;
  clear: both;
}
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>


编辑:

其工作原理是黄色 block 不是内联 block 。这意味着它们将给定页面上的每个同级元素推到其下方。 Float none 确保任何 float 元素不会与 block 交互。清除两者可以在渲染 div 之前清除所有先前的 float 元素。

关于html - 使用 css clear 创建 css 网格 :both and nth of type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305986/

相关文章:

html - 将四个正方形两两对齐

css - 使用内联 CSS 的 GMail 电子邮件中的水印 - 无法使用 STYLE 标签 - 在电子邮件正文中心覆盖透明图像

jquery - 如何使用数据表服务器处理来格式化/自定义表列中的数据?

javascript - 如何重置请求 chrome 桌面通知的权限

html - Django 静态文件图像不显示

css - 使用移动 CSS Nav 强制内容向下

html - 下拉菜单无法在 IE 中显示

html - 如何使用 CSS 获取两个 div 类实例中的第二个?

javascript - 脚本5007 : Expected object in IE9 on Canvas HTML5

html - css 步骤向导 z-index 不起作用