九宫格布局

最近遇到一个题目,是实现一个九宫格布局的。实现的效果大概是下图这种这样子的:

(鼠标悬浮的时候,九宫格的边框颜色是改变的。)

首先想到的是直接使用<table>进行布局,原因很简单,就是想利用 table 里面有一个border-collapse:collapse; 属性,可以很方便地对 border 进行重合。

下面贴出代码:

css

    <style>
.tables{
border-collapse:collapse;
background-color: #fff;
}
.tds{
text-align:center;
width: 90px;
height: 90px;
font-size: 30px;
border: 5px solid blue;
text-decoration: underline;
}
.tds:hover{
border:5px solid red;
}
</style>

html

    <table class="tables">
<tr class="trs">
<td class="tds">1</td>
<td class="tds">2</td>
<td class="tds">3</td>
</tr>
<tr class="trs">
<td class="tds">4</td>
<td class="tds">5</td>
<td class="tds">6</td>
</tr>
<tr class="trs">
<td class="tds">7</td>
<td class="tds">8</td>
<td class="tds">9</td>
</tr>
</table>

结果(看到就瞬间蒙逼了,有一部分 border 被遮挡了)

既然遇到问题了,那就马上改改改,解决的办法是在 td 里再增加一个div。

修改

css

    <style>
.tables{
border-collapse:collapse;
background-color: #fff;
}
.tds{
width: 90px;
height: 90px;
border: 5px solid blue;
}
.tds div{
position: relative;
width: 90px;
height: 90px;
}
.tds div span{
display:block;
text-align: center;
line-height: 90px;
font-size: 30px;
width: 90px;
height: 90px;
text-decoration: underline;
}
.tds div span:hover{
position: absolute;
top: -5px;
left: -5px;
width: 90px;
height: 90px;
border:5px solid red;
}
</style>

html

    <table class="tables">
<tr class="trs">
<td class="tds"><div><span>1</span></div></td>
<td class="tds"><div><span>2</span></div></td>
<td class="tds"><div><span>3</span></div></td>
</tr>
<tr class="trs">
<td class="tds"><div><span>4</span></div></td>
<td class="tds"><div><span>5</span></div></td>
<td class="tds"><div><span>6</span></div></td>
</tr>
<tr class="trs">
<td class="tds"><div><span>7</span></div></td>
<td class="tds"><div><span>8</span></div></td>
<td class="tds"><div><span>9</span></div></td>
</tr>
</table>

DEMO


另外,也可以通过 给一个最外层的div设置一个 `background-color`来实现视觉上的边框,

栗子请戳 css实现九宫格(二) | Litten的博客

table 实现 九宫格布局的更多相关文章

  1. [转]基于display:table的CSS布局

    当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS ...

  2. iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案”

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  3. 与table有关的布局

    当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS ...

  4. iOS- 用UICollectionViewController 来进行横竖屏九宫格布局

    1.简单说说UICollectionViewController 我们在做九宫格布局时,可以使用UIScrollView,也可以使用UICollectionViewController. 当我们用UI ...

  5. css Table布局:基于display:table的CSS布局

    两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性). HTML Table是指使用原生 ...

  6. 【CSS】340- 常用九宫格布局的几大方法汇总

    对,就是类似这样的布局~ 目录 1  margin负值实现 2  祖父和亲爹的里应外合 3  换个思路 - li生个儿子帮大忙 4 借助absolute方位值,实现自适应的网格布局 5 cloumn多 ...

  7. 关于css布局的记录(一) --table和flex布局

    1.table方式布局 效果图: 直接用table等标签布局,table布局自动垂直居中 亦可用 display:table == <table>.display:table-cell = ...

  8. [RN] React Native 使用 FlatList 实现九宫格布局 GridList

    React Native 使用 FlatList 实现九宫格布局 先看图片演示实例: 本文以图片列表为例,实现九宫格布局! 主要有两种方法: 1)方法一: 利用FlatList的 numColumns ...

  9. ListView 九宫格布局实现

    1.效果图 2.数据 SettingData.json { "data": [{ "icon":"setting", "title ...

随机推荐

  1. Python学习笔记:单例模式

    单例模式:一个类无论实例化多少次,返回的都是同一个实例,例如:a1=A(), a2=A(), a3=A(),a1.a2和a3其实都是同一个对象,即print(a1 is a2)和print(a2 is ...

  2. BFS例题:A计划

    ContribContrib/a11y/accessibility-menu.js 关于 BFS要点: 1.若为可化为的坐标系图形,可用结构体存储其x值,y值和步数.(一般开now 和 next ,n ...

  3. 17-比赛1 B - 子串计算 Chef and his string challenge (string的运用)

    Chef's best friend Jerry gives Chef a string A and wants to know the number of string A that can be ...

  4. 读懂CCS链接命令文件(.cmd)

    链接器的核心工作就是符号表解析和重定位,链接命令文件则使得编程者可以给链接器提供必要的指导和辅助信息.多数时候,由于集成开发环境的存在,开发者无需了解链接命令文件的编写,使用默认配置即可.但若需要对计 ...

  5. Maven学习 (六) 搭建多模块企业级项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

  6. 《Cracking the Coding Interview》——第5章:位操作——题目5

    2014-03-19 06:22 题目:将整数A变成整数B,每次只能变一个二进制位,要变多少次呢. 解法:异或,然后求‘1’的个数. 代码: // 5.5 Determine the number o ...

  7. 安装LoadRunner11报缺少vc2005_sp1_with_atl_fix_redist的错误

    找到安装程序自带的lrunner\Chs\prerequisites\vc2005_sp1_redist,双击运行vcredist_x86.exe,再重新安装LoadRunner即可成功. 参考资料: ...

  8. scheduled定时任务cron表达式知识地址

    https://www.cnblogs.com/javahr/p/8318728.html https://www.cnblogs.com/sunjie9606/archive/2012/03/15/ ...

  9. Python全栈工程师(每周总结:2)

     ParisGabriel   感谢 大家的支持                                                               每天坚持 一天一篇 点个订 ...

  10. 孤荷凌寒自学python第四十四天Python操作 数据库之准备工作

     孤荷凌寒自学python第四十四天Python操作数据库之准备工作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天非常激动地开始接触Python的数据库操作的学习了,数据库是系统化设计 ...