全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2024-07-25_UI∶ 为啥你这个页面边框1px看起来这么粗?

您的位置:首页 >> 新闻 >> 行业资讯

UI∶ 为啥你这个页面边框1px看起来这么粗? 点击关注公众号,“技术干货”及时达!背景最近在开发H5,ui稿给的border:1px solid,因为ui稿上的宽度是750px,我们运行的页面宽度是375px,所以我们需要把所以尺寸/2。所以我们可能会想写border:0.5px solid。但是实际上,我们看页面渲染,仍然是渲染1px而不是0.5 示例代码 !DOCTYPEhtml htmllang="en" head metacharset="UTF-8"/ metaname="viewport"content="width=device-width,initial-scale=1.0"/ style *{ margin:0; padding:0; box-sizing:border-box; } body{ font-family:Arial,sans-serif; } .flex{ display:flex; } .item{ margin-right:10px; padding:10px; font-size:13px; line-height:1; background-color:rgba(242,243,245,1); } .active{ color:rgba(250,100,0,1); font-size:14px; border:0.5pxsolid } /style /head body divclass="flex" !--divclass="itemactive" active /div-- divclass="item" item1 /div divclass="item" item2 /div divclass="item" item3 /div /div /body /html 在没active的情况下 他们的内容都是占13px ??在有active的情况下? active占了14px这个是没问题的,因为它font-size是14px嘛,但是我们是设置了border的宽度是0.5px,但展现的却是1px。 ?再来看看item 它内容占了16px,它受到相邻元素影响是14px+2px的上下边框 为啥border是1px呢在 CSS 中,边框可以设置为 0.5px,但在某些情况下,尤其是低分辨率的屏幕上,浏览器可能会将其渲染为 1px 或根本不显示。这是因为某些浏览器和显示设备不支持小于 1px 的边框宽度或不能准确渲染出这样的细小边框。 浏览器渲染机制不同浏览器对于小数像素的处理方式不同。一些浏览器可能会将0.5px边框四舍五入为1px,以确保在所有设备上的一致性。设备像素比在高 DPI(如 Retina 显示器)设备上,0.5px边框可能看起来更清晰,因为这些设备可以渲染更细的边框。在低 DPI 设备上,0.5px边框可能会被放大或者根本不会被显示。解决办法方法一:使用伪类和定位.active{ color:rgba(250,100,0,1); font-size:14px; position:relative; } .active::after{ content:""; pointer-events:none; display:block; position:absolute; left:0; top:0; transform-origin:00; border:1px#ff892esolid; box-sizing:border-box; width:100%; height:100%; } 另外的item的内容高度也是14px了符合要求 方法二:使用阴影,使用F12看的时候感觉还是有些问题.active2{ margin-left:10px; color:rgba(250,100,0,1); font-size:14px; position:relative; box-shadow:0000.5px#ff892e; } 方法三:使用svg,但这种自己设置了宽度。 divclass="active" svgwidth="100%"height="100%"viewBox="00100100"preserveAspectRatio="none" rectx="0"y="0"width="100"height="100"fill="none"stroke="#ff892e"stroke-width="0.5"/rect /svg active /div 方案四:使用svg加定位,也比较麻烦,而且有其他的问题 divclass="active" svgviewBox="00100100"preserveAspectRatio="none" rectx="0"y="0"width="100"height="100"fill="none"stroke="#ff892e"stroke-width="0.5"/rect /svg divclass="content"active/div /div .active{ color:rgba(250,100,0,1); font-size:14px; position:relative; display:inline-block; } .activesvg{ position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; box-sizing:border-box; } .active.content{ position:relative; z-index:1; } 方法五:使用一个父元素 比较麻烦divclass="border-container" divclass="active"active/div /div .border-container{ display:inline-block; padding:0.5px; background-color:#ff892e; } .active{ color:rgba(250,100,0, font-size:14px; background-color:white; } 最后在公司里,我们使用的都是方案一,这样active和item它们的内容高度都是14px了。然后我们再给他们的父盒子加上 align-items: center。这样active的高度是14px,其他都是13px了。但是active的高度会比其他item的盒子高1px,具体看个人需求是否添加吧。 点击关注公众号,“技术干货”及时达! 阅读原文

上一篇:2024-03-25_“为什么年轻人痴迷于玄学?“ 下一篇:2023-04-06_广告门专访超级猩猩 ∶ 要么酷 , 要么死

TAG标签:

12
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价