flex布局实现九宫格,浮悬被选中框变红。
下面介绍下写的过程中软实力的体现
<html>
<head>
<meta charset="utf-8">
<title>九宫格</title>
/*消除各个浏览器之间的差异,初始化标签样式*/
<link rel="stylesheet" href="./reset.css">
</head>
<body>
/*语义化的写标签*/
<ul class="wrap">
<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>
</ul>
<style type="text/css">
.wrap{
display: flex;
flex-wrap: wrap;
width: 300px;
}
.wrap li{
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
/*盒子width以border+padding+content计算*/
box-sizing: border-box;
border:1px solid #000;
/*解决边距重叠问题*/
margin-left: -1px;
margin-top: -1px;
}
/*css高级选择器实现边距上移和左移问题*/
.wrap li:nth-child(3n+1){
margin-left: 0;
}
.wrap li:nth-child(-n+3){
margin-top: 0;
}
.wrap li:hover{
/*悬浮被掩盖问题*/
z-index: 10;
border:1px solid red;
}
</style>
</body>
</html>