返回顶部
首页 > 资讯 > 精选 >如何使用css3做0.5px的细线
  • 235
分享到

如何使用css3做0.5px的细线

2023-06-08 10:06:47 235人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何使用css3做0.5px的细线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。WEBapp中的CSS3实现 0.5px的细线感觉很长时间没写过博客了,最近生活还算稳定,过得较为充实,所

这篇文章给大家分享的是有关如何使用css3做0.5px的细线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

WEBapp中的CSS3实现 0.5px的细线

感觉很长时间没写过博客了,最近生活还算稳定,过得较为充实,所以又要开始写写东西了,一个是为了做些记录,是怕自己某一天,忘记了,回头翻翻博客,就会再次的拾起来,记忆,就是这样。

曾看过淘宝,京东,易迅,一号店等等电商的移动端网站,这些大的电商站的共同特点是做的精致,用户体验良好,其中在布局方面 , 0.5px的线看上去就比1px的线看上去要精致很多。

方法一:使用渐变来做

html代码:

<div></div>

css代码:

.bd-t{  position:relative;}.bd-t::after {  content: " ";  position: absolute;  left: 0;  top: 0;  width: 100%;  height: 1px;  background-image: linear-gradient(0deg, transparent 50%, #e0e0e0 50%);}

Be careful ! 注意此处有坑!!!:

对于不同浏览器的兼容,我们需要使用不同的前缀如:

-webkit-linear-gradient-ms-linear-gradient -o-linear-gradient

坑就在这些前缀里: 我们把代码里的height 1px 变成 100px , 参数同为 0deg, transparent 50%, #e0e0e0 50% 并使用最新版的chrome来测试

linear-gradient 有如下结果:

如何使用css3做0.5px的细线

经过一系列的测试总结,我们可以推理出下面的渐变方式:

如何使用css3做0.5px的细线

webkit-linear-gradient 的代码效果图如下:

如何使用css3做0.5px的细线

经总结,我们看到-webkit前缀的渐变方式为:

如何使用css3做0.5px的细线

其他的前缀如果用到,还请小伙伴们自己来尝试填坑!

说明:

推荐这种写法,这是百度糯米移动站的做法(如果没改版的话):Http://m.nuomi.com/ ,从上述代码的描述中,可以看到,为了实现盒子顶部边框0.5px的伪代码:border-top:0.5px solid #e0e0e0; 的效果,使用after,作为一个钩子,宽度100%,高度1px,背景渐变,一半透明,一半有颜色,这么干是可以的。同理,底部,左边和右边的细线,都是同一个道理了。当然,如果需要组合使用,盒子之间的嵌套使用,也是可以的,或者你有自己的想法(当然做法有很多种!)&hellip;

方式二: 使用缩放

html代码:

<div></div>

css代码:

.bd-t{  position:relative;}.bd-t:after{  content: "  ";  position: absolute;  left: 0;  top: 0;  width: 100%;  height: 1px;  background-color: #e0e0e0;    -webkit-transfORM: scaleY(.5);  transform:scaleY(.5);}

说明

这是实现盒子上边框0.5px的做法, 不是很推荐这种做法,因为经过测试,一些手机端浏览器显示的不是太好。这种实现的原理是: 在Y轴方向上,压缩一半。就像上面注释的那样。
如果你觉得效果不太好,这里有一个 fallback or workaround, whatsoever: 就是上面注释掉的那种做法:可以尝试使用border-top:1px solid #e0e0e0; 代替background-color的做法,京东就是这么做的(如果没改版的话): http://m.jd.com/

方式二的拓展 : 如果要实现四周全是0.5px的线条的话 :

html代码:

<div class='bd-all'></div>

css代码:

  .bd-all{      position:relative;  } .bd-all:after{      content: "  ";      position: absolute;      left: 0;      top: 0;      z-index:-1;      width: 200%;      height:200%;      border:1px solid #e0e0e0;      -webkit-transform-origin: 0 0;      transform-origin: 0 0;      -webkit-transform: scale(.5, .5);      transform: scale(.5, .5); }

说明 :

这是实现一个盒子四周0.5px的做法, 如果加入border-radius圆角效果,会发现,有些手机会有圆角发虚的情况,不过影响不是很大。如果有两个盒子,上面一个盒子没有边框效果,下面盒子有边框效果,两个盒子一样宽,上下在一起的布局方式,你会发现,在手机上有时候会对不齐&hellip; 错开了0.5px,原因已经很明了了&hellip;还有那个z-index ,可以根据不同需求来调整使用,如果可以的话,不使用也是可以的。

方式三: 使用background-image和css3的九宫格裁减

京东之前是这么做的,现在已经不被使用了。具体做法,请看下面demo结构:

├─demo/ &middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot; demo 目录        └─┬─ test.html  &middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot; test.html 文件        └─── pic.png &middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot;&middot; png 图片文件

在test.html 中 有如下关键代码:

html 结构:

<div class="bd-t"></div>

css 结构:

.bd-t{   position: relative;}.bd-t::after {content: " ";position: absolute;left: 0;top: 0;width: 100%;border-top: 1px solid transparent;border-image: url('pic.png') 2 1 1 1 stretch; -webkit-border-image: url('pic.png') 2 1 1 1 stretch;}

而 pic.png 的九宫格切法,如下图:

如何使用css3做0.5px的细线

具体有关 border-image 的用法,网上有很多:

w3c 上的这个讲的不是很具体:https://www.yisu.com/w3school/cssref/pr_border-image.htm

在 MDN 上 有明确的介绍,并且有很多配图,包括兼容性等等:https://developer.mozilla.org/en-US/docs/Web/CSS/border-image

但是不推荐这种写法,毕竟图片质量比较大,能用代码解决的,不用图片。在这里border-width 是 1px , 但是 背景是有2px的距离,所以在1px的border-top上,显示出有颜色的高度就是0.5px, 同理,底边,左边和右边的0.5px,也都很容易实现。 这个就是css3的魅力体现(这个现在兼容性也不是很好,在一些较低端的安卓浏览器和一些版本的safari 支持的也不是很好)。

方式四 (推荐): weui的实现方式 :

这是一款微信团队开发的UI 组件 详情见: weui , 它的使用方式是这样的:

.weui-cell:before{   content: " ";   position: absolute;   left: 0;   top: 0;   right: 0;   height: 1px;   border-top: 1px solid #D9D9D9;   color: #D9D9D9;   -webkit-transform-origin: 0 0;   transform-origin: 0 0;   -webkit-transform: scaleY(0.5);   transform: scaleY(0.5);}

方式五: 使用同周边相似的浅色,利用视觉效果,让用户产生错觉

这个就考验设计师的功力了 :)

其他说明:不是很推荐使用渐变来做 , 在移动设备上可以看到,但在一些浏览器上看不到,不便于调试。

感谢各位的阅读!关于“如何使用css3做0.5px的细线”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何使用css3做0.5px的细线

本文链接: https://lsjlt.com/news/253612.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用css3做0.5px的细线
    这篇文章给大家分享的是有关如何使用css3做0.5px的细线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Webapp中的CSS3实现 0.5px的细线感觉很长时间没写过博客了,最近生活还算稳定,过得较为充实,所...
    99+
    2023-06-08
  • 如何使用css3实现线性渐变
    这篇文章主要介绍了如何使用css3实现线性渐变,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。     使用css3实现...
    99+
    2024-04-02
  • 如何使用css做两头变尖的直线
    小编给大家分享一下如何使用css做两头变尖的直线,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! cs...
    99+
    2024-04-02
  • 如何使用javascript做在线算法编程
    这篇文章给大家分享的是有关如何使用javascript做在线算法编程的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。基于node的readline一样可以使用标准流的输入输出对于大...
    99+
    2024-04-02
  • 如何使用CSS3中的FlexibleBoxes
    这期内容当中小编将会给大家带来有关如何使用CSS3中的FlexibleBoxes,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Flexible Box是什么?Flexib...
    99+
    2024-04-02
  • 如何使用CSS3实现重复线性渐变效果
    这篇文章主要为大家展示了“如何使用CSS3实现重复线性渐变效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用CSS3实现重复线性渐变效果”这篇文章吧。 ...
    99+
    2024-04-02
  • 如何使用CSS3 Media Queries
    本篇内容介绍了“如何使用CSS3 Media Queries”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • CSS3如何实现线性渐变用法
    这篇“CSS3如何实现线性渐变用法”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“CSS3如何实现线性渐变用法”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-08
  • 如何使用CSS3中calc()宽度计算做响应模式布局
    小编给大家分享一下如何使用CSS3中calc()宽度计算做响应模式布局,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!浏览这个ht...
    99+
    2024-04-02
  • CSS3如何使用resize属性
    这篇文章给大家分享的是有关CSS3如何使用resize属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 您可以使用CSS3resize属性删除或关闭HTML<texta...
    99+
    2024-04-02
  • CSS3如何使用transition属性
    这篇文章主要介绍了CSS3如何使用transition属性,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 您可以使用CSS3transit...
    99+
    2024-04-02
  • css3中矩阵如何使用
    这篇文章主要介绍了css3中矩阵如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css3 矩阵变化. 应用格式为:transform: matrix(a,b,...
    99+
    2023-06-08
  • css3的transform中scale缩放如何使用
    这篇文章主要讲解了“css3的transform中scale缩放如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3的transform中scal...
    99+
    2024-04-02
  • CSS3中resize属性如何使用
    本篇文章为大家展示了CSS3中resize属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSS3新增了resize属性,该属性允许用户通过拖动的方式来修...
    99+
    2024-04-02
  • CSS3中::before和::after如何使用
    这期内容当中小编将会给大家带来有关CSS3中::before和::after如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、与普通元素一样可以给其添加样式比如说...
    99+
    2024-04-02
  • 如何使用CSS3@font-face属性
    本篇内容介绍了“如何使用CSS3@font-face属性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码...
    99+
    2024-04-02
  • CSS3中如何使用content属性
    小编给大家分享一下CSS3中如何使用content属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css属性【content】...
    99+
    2024-04-02
  • CSS3中HSL和HSLA如何使用
    这期内容当中小编将会给大家带来有关CSS3中HSL和HSLA如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用CSS3 HSL声明同样是用来设置颜色的。下一个呢?...
    99+
    2024-04-02
  • 如何使用HTML5做的导航条
    这篇文章将为大家详细讲解有关如何使用HTML5做的导航条,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先准备网页背景图片和导航背景图片,放在同一目录下的images文件夹中 编写html文件&...
    99+
    2023-06-09
  • 如何使用css3实现的tab选项卡
    这篇文章主要介绍“如何使用css3实现的tab选项卡”,在日常操作中,相信很多人在如何使用css3实现的tab选项卡问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用cs...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作