inline-block 嵌套 block 元素四周会有白边的问题

昨夜书_ 2018-09-24 04:35:07
二话不说,先上图。

网页 100% 缩放,部分截图,看导航栏部分。


网页 110% 缩放


网页 125% 缩放


可以看到 125% 缩放是完美的,前两个都有白边。另外在 175% 缩放的时候更明显,上下左右都有白边。
正在学习中,被这个问题搞了两下午了,请问如何解决?

下面是相关样式

.navibar {
text-align: center;
}
.navibar>.navimenu {
display: inline-block;
border: #000 solid 1px;
vertical-align: bottom;
padding: 0;
}
.navimenu>a {
display: block;
width: 120px;
padding: 10px;
margin: 0;
background-color: #000;
background-origin: border-box;
text-decoration: none;
color: #fff;
}
.navimenu>a:hover {
background-color: rgb(87, 202, 248);
color: #000;
}

<div class="navibar">
<div class="navimenu"><a href="#div1">导航</a>
</div><div class="navimenu"><a href="#div1">导航</a>
</div><div class="navimenu"><a href="#div1">导航</a>
</div><div class="navimenu"><a href="#div1">导航</a>
</div><div class="navimenu"><a href="#div1">导航</a></div>
</div>
...全文
613 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
昨夜书_ 2018-09-26
  • 打赏
  • 举报
回复
引用 4 楼 winzond的回复:
[quote=引用 3 楼 RottenPi 的回复:]
[quote=引用 1 楼 winzond的回复:]我觉得这可能跟浏览器的渲染过程有关,你的电脑是175%最明显,而我的电脑175%一切正常,140%最明显,连管家婆这样的专业企业也有同样的问题的,只要在100%时正常就好了,依我这个初学者的水平来看,没看出什么问题,元素审查也没审出个什么东西来。不过,我把border: #000 solid 1px;删除了,就没有白边了,其实你不想要边框又要去画一个边框,我不是太理解

其实边框我是要的,鼠标悬停的时候navimenu背景会变蓝(看最后那个:hover样式),这样鼠标悬停的时候就是黑边蓝底黑字。[/quote]我还是觉得可能和渲染有关,因为不同的电脑在不同的比例下会出现这样的问题。按F12查看,不同的比例下,border的宽度也是不一样的。我觉得,这个可能没法弄[/quote] 额这样子啊……好吧
winzond 2018-09-25
  • 打赏
  • 举报
回复
引用 3 楼 RottenPi 的回复:
[quote=引用 1 楼 winzond的回复:]我觉得这可能跟浏览器的渲染过程有关,你的电脑是175%最明显,而我的电脑175%一切正常,140%最明显,连管家婆这样的专业企业也有同样的问题的,只要在100%时正常就好了,依我这个初学者的水平来看,没看出什么问题,元素审查也没审出个什么东西来。不过,我把border: #000 solid 1px;删除了,就没有白边了,其实你不想要边框又要去画一个边框,我不是太理解

其实边框我是要的,鼠标悬停的时候navimenu背景会变蓝(看最后那个:hover样式),这样鼠标悬停的时候就是黑边蓝底黑字。[/quote]我还是觉得可能和渲染有关,因为不同的电脑在不同的比例下会出现这样的问题。按F12查看,不同的比例下,border的宽度也是不一样的。我觉得,这个可能没法弄
昨夜书_ 2018-09-25
  • 打赏
  • 举报
回复
引用 1 楼 winzond的回复:
我觉得这可能跟浏览器的渲染过程有关,你的电脑是175%最明显,而我的电脑175%一切正常,140%最明显,连管家婆这样的专业企业也有同样的问题的,只要在100%时正常就好了,依我这个初学者的水平来看,没看出什么问题,元素审查也没审出个什么东西来。不过,我把border: #000 solid 1px;删除了,就没有白边了,其实你不想要边框又要去画一个边框,我不是太理解
其实边框我是要的,鼠标悬停的时候navimenu背景会变蓝(看最后那个:hover样式),这样鼠标悬停的时候就是黑边蓝底黑字。
winzond 2018-09-24
  • 打赏
  • 举报
回复
也有可能是这样的,显示器的屏幕最小单位是像素,你设置的1px,但你缩放过后,就不再是整数了,浏览器发送的是带小数的显色指令,但显示器无法显示,只能四舍五入(或者其它规则),不足的部分用空白补齐,它就有可能渲染出1px的设定颜色,再渲染1px的空白颜色(就是白色了)
winzond 2018-09-24
  • 打赏
  • 举报
回复
我觉得这可能跟浏览器的渲染过程有关,你的电脑是175%最明显,而我的电脑175%一切正常,140%最明显,连管家婆这样的专业企业也有同样的问题的,只要在100%时正常就好了,依我这个初学者的水平来看,没看出什么问题,元素审查也没审出个什么东西来。不过,我把border: #000 solid 1px;删除了,就没有白边了,其实你不想要边框又要去画一个边框,我不是太理解

61,115

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧