html正方形边框,HTML实战篇:html制作边框为1px的九宫格

原标题:HTML实战篇:html制作边框为1px的九宫格

26b458f0455ea56287ed81589c44cf2f.png

本篇文章主要给大家介绍一下如何使用html+css完成边框为1px的九宫格的制作;九宫格这个比较常用于购物网站的商品展示区域,商品图片一般存在于一个一个方块之中。具体我们来看一下下面的这张九宫格图片:

2704af97e86f373f09d9595a8997cdce.png

由上图我们可以看出,改元素主要由9块区域组成,每块区域之间呢都有1px的边框元素。那么我们到底应该怎么制作这种效果呢。如何做才是比较好的策略呢。

1)使用table布局来制作

我们九宫格最简单的实现方式就是使用table来布局,将table中的td元素的宽高设置为150px,边框设置为1px即可实现上图的显示效果。具体的代码就如下图所示:

672bcdbbf35fa8f61a2914345c69f3d9.png

但是呢,table布局存在一个问题就是当元素中的内容过多时,td的宽度会自动的拉伸变形,这不符合我们想要制作的效果。

2)使用ul、li来制作

使用ul和li制作是我们要注意一个问题就是li元素设置边框之后左右的边框的宽度为2px,我们可以使用margin-left:-1px;和margin-top:-1px;来让每个li元素向左和向上移动一个像素;

具体的实现代码如下所示:

50bf90da2c4582e20f4908b10669c0cf.png

写到这里我们的代码看似没有什么毛病了,显示效果都正确,文字过多也不会打破现在的布局,但是,如果我们这里给li元素添加一个鼠标经过效果,让鼠标经过的时候边框变为红色,我们就会看出问题所在了,具体的代码如下所示:

531086a75d412c4d6b5832d5e00b9abf.png

当我们把鼠标放到5上的时候,他的左边和上边的边框变红色了,而右边和下边的却还是黑色,这是什么原因呢?

原来这是因为我们设置了margin-left:-1px和margin-top:-1px;导致后边的li元素将我们的边框给盖住了,我们这里只需将鼠标经过元素的层级(z-index)设置的高一些就可以显示出来了。具体的代码如下所示:

注意:只有有定位的元素才能设置z-index的值,否则无效,所以这里我们要给元素设置相对定位。

好了,本篇文章就给大家说到这里,大家自己动手写一下看能不能写出一样的页面效果出来,也可以自己将九宫格填充想要的内容装饰一下,如果有不理解或者有需要源码的可以直接私信我即可。

所有的人都在努力,不是只有你受尽委屈。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值