如何使用css3做0.5px的细线

这篇文章主要介绍了使用css30.5px细线的示例代码的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。

Webapp中的CSS3实现 0.5px的细线

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

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

方法一:使用渐变来做

立即学习“前端免费学习笔记(深入)”;

html代码:

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,背景渐变,一半透明,一半有颜色,这么干是可以的。同理,底部,左边和右边的细线,都是同一个道理了。当然,如果需要组合使用,盒子之间的嵌套使用,也是可以的,或者你有自己的想法(当然做法有很多种!)…

方式二: 使用缩放

html代码:

css代码:

.bd-t{  position:relative;}.bd-t:after{  content: "  ";  position: absolute;  left: 0;  top: 0;  width: 100%;  height: 1px;  background-color: #e0e0e0;  /* 如果不用 background-color, 使用 border-top:1px solid #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代码:

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圆角效果,会发现,有些手机会有圆角发虚的情况,不过影响不是很大。如果有两个盒子,上面一个盒子没有边框效果,下面盒子有边框效果,两个盒子一样宽,上下在一起的布局方式,你会发现,在手机上有时候会对不齐… 错开了0.5px,原因已经很明了了…还有那个z-index ,可以根据不同需求来调整使用,如果可以的话,不使用也是可以的。

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

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

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

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

html 结构:

css 结构:

.bd-t{   position: relative;}.bd-t::after {content: " ";position: absolute;left: 0;top: 0;width: 100%;border-top: 1px solid transparent;/* 下面用 stretch 和 round 都可以 */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 的用法,网上有很多:

在 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);}

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

 css3中移动属性的分析

如何使用css3画个同心圆

CSS3中@keyframes动画的实现

以上就是如何使用css3做0.5px的细线的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:36:52
下一篇 2025年12月24日 01:37:05

相关推荐

  • 利用CSS3的border-radius实现绘制太极及爱心的图案

    css3中的border-radius可以轻松地用来绘制弧线,如果只用来做圆角矩形的话可就太浪费了,下面就来展示一下利用css3的border-radius绘制太极及爱心图案示例,需要的朋友可以参考下 太极图border-radius 除了做边框圆角效果之外,把它用在画图示上的话,其实能产生出很多不…

    2025年12月24日 好文分享
    000
  • CSS3如何实现同时执行倾斜和旋转的动画效果

    这篇文章通过实例代码给大家主要介绍了,如何利用css3实现同时执行倾斜和旋转的动画效果,文中给出了完整的实例代码,大家直接运行就可以看到效果,有需要的朋友们可以参考借鉴,下面来一起看看吧。 先看看静态的效果,运行后的效果更好 示例代码如下 css3学习 .d{width: 200px;height:…

    2025年12月24日
    000
  • 利用CSS3实现地球自转

    这篇文章主要介绍了关于利用css3实现地球自转,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 CSS3实现地球自转,不可思议啊,不过确实可以实现,不信的朋友可以祥看本文,附送源码 最终成果: 素材:两张图片, 立即学习“前端免费学习笔记(深入)”; espaco.jpg(1600*1…

    2025年12月24日 好文分享
    000
  • 关于CSS3绘制六边形的方法

    下面为大家带来一篇css3绘制六边形的简单实现。内容挺不错的,现在就分享给大家,也给大家做个参考。 因为很简单,所以先总结一下:使用CSS3绘制六边形主要使用伪类:before和:after在源元素之前和之后再绘制两个元素,并利用css3的边框样式,将这两个元素变成三角形放置在源元素的两端即可。 (…

    2025年12月24日 好文分享
    000
  • 利用SVG和CSS3实现炫酷的边框动画

    这篇文章主要介绍了利用svg和css3来实现一个炫酷的边框动画,不使用javascript使得编写过程轻松了不少,需要的朋友可以参考下 今天我们来探索一下Carl Philipe Brenner的网站上一个微妙而有趣的动画效果。当鼠标经过网格元素时,会有一个微妙的动画发生——网格元素变得透明,每条边…

    2025年12月24日
    000
  • 利用CSS3实现了八组超炫酷鼠标滑过图片动画

    这篇文章主要为大家分享了8组超炫酷纯css3鼠标滑过图片动画效果,每一个动画效果都很精彩,值得大家学习借鉴,感兴趣的小伙伴们可以参考一下 这是一款效果超酷的纯CSS3鼠标滑过图片动画效果,它共分为8组不同的效果,它们分别在鼠标滑过图片时,以不同的方式显示遮罩层和图片标题。每一组效果又分为3种不同的鼠…

    2025年12月24日 好文分享
    000
  • CSS3实现的图片放大镜特效

    一款用纯css3实现的图片放大镜特效。页面打开五个小图显示于页面。当鼠标经过图片时,当前图片以灰色背景图的形式展示,需要的朋友不要错过 今天要给大家分享的的一款用纯css3实现的图片放大镜特效。页面打开五个小图显示于页面。当鼠标经过图片时,当前图片以灰色背景图的形式展示。效果非常不错。   实现的代…

    2025年12月24日
    000
  • 关于css3弹性盒模型的介绍

    这篇文章主要介绍了关于css3弹性盒模型的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Css3引入了新的盒模型——弹性盒模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间,使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局 Css3引入…

    2025年12月24日
    000
  • 如何使用css3画个同心圆

    这篇文章主要给大家介绍了利用css3如何画个同心圆的相关资料,文中给出了详细的示例代码,并对代码进行了详细的解析方法大家理解和学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 基本思路 首先你得画三个圆吧,那三个圆怎么重叠到一块呢?这个就得靠-margin来控制了。 css 立即学…

    2025年12月24日
    000
  • 关于CSS3中的calc() 方法

    这篇文章主要介绍了详解css 3 的 calc() 方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 下面一段代码给大家介绍css3中的calc()方法,具体内容如下所示: [Ctrl+A 全部选择 提示:您可先修改部分代码,再按运行] 如上代码,预览可以看出红色框超出了,因为在标准的 CSS…

    好文分享 2025年12月24日
    000
  • css3中移动属性的分析

    这篇文章主要介绍了css3学习系列之移动属性详解,内容挺不错的,现在分享给大家,也给大家做个参考。 transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: scale方法使用示例 p { width: 300…

    2025年12月24日 好文分享
    000
  • 使用CSS3编写灰阶滤镜来制作黑白照片效果

    这篇文章主要介绍了使用css3编写灰阶滤镜来制作黑白照片效果的方法,css3中的filter十分强大,文中还介绍了对ie兼容的方法,需要的朋友可以参考下 CSS3 中的滤镜(filter)功能让我们轻松方便简单的处理图片,而不需要使用 PhotoShop 或者使用很多 JavaScript、PHP …

    2025年12月24日
    000
  • 利用CSS3制作的鼠标悬停时边框旋转

    本文给大家分享一段css3代码实现鼠标悬停时边框旋转的效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下 下面以2017年新年祝福语为例给大家展示下效果。 纯CSS3实现的鼠标悬停时边框旋转的效果: 实现代码如下,代码中注释已经比较详细,就不再多说了: Document body { …

    2025年12月24日
    000
  • 两种CSS3圆角和渐变的常用功能

    这篇文章主要介绍了css3圆角和渐变2种常用功能详解 的相关资料,需要的朋友可以参考下 Css3圆角讲解:想必大家对于图片,背景圆角,都不陌生吧, 圆角语法:border-radius:圆角值; CSS3圆角的优点 传统的圆角生成方案,必须使用多张图片作为背景图案。CSS3的出现,使得我们再也不必浪…

    2025年12月24日 好文分享
    000
  • 关于HTML5和CSS3实现时钟的效果

    利用html5,css实现钟摆效果 ,在项目中经常会遇到,今天把基于html5+css3实现简单的时钟效果的实现代码分享到本站平台,需要的朋友参考下吧 目的: 利用html5,css实现钟摆效果 知识点: 1) 利用position/left/top和calc()实现元素的水平和垂直居中; 立即学习…

    好文分享 2025年12月24日
    000
  • CSS3中使用RGBa来调节透明度的方法

    这篇文章主要介绍了css3中使用rgba来调节透明度的教程,rgba是rgb色彩模型的一个扩展,这个缩写词代表红绿蓝三原色的首字母,alpha值代表颜色的透明度或者说不透明度,需要的朋友可以参考下 在 CSS3 中,增加了一个 opacity 属性,允许开发者设置元素的透明度,现在 opacity …

    2025年12月24日
    000
  • 使用 css3 实现圆形进度条的方法

    本篇文章主要介绍了使用 css3 实现圆形进度条的示例,这里整理了详细的代码,非常具有实用价值,需要的朋友可以参考下 在开发微信小程序的时候,遇到圆形进度条的需求。使用canvas绘图比较麻烦: 1、为了实现在不同屏幕上面的适配,必须动态的计算进度条的大小; 2、在小程序中,canvas的画布具有最…

    2025年12月24日
    000
  • CSS3实现背景透明文字不透明的效果

    这篇文章主要介绍了css3实现背景透明文字不透明的示例代码的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。 最近遇到一个需求,要在图片上显示带有半透明背景的文字,效果如下图所示: 需求.png 看到这个需求之后,第一反应是使用CSS3中的opacity设置元素的透明度。 背景透明,文字也…

    2025年12月24日 好文分享
    000
  • 利用css3设置没有上下边的列表间隔线的方法

    这篇文章主要给大家介绍了利用css3如何设置没有上下边的列表间隔线,文中分享了两种解决方法,分别是利用通用兄弟选择器( ~ )和伪类选择器( :first-of-type / :last-of-type )来实现的,给出了详细的示例代码供大家参考学习,下面来一起看看吧。 本文主要介绍了关于利用css…

    2025年12月24日
    000
  • CSS3 3D旋转rotate效果的使用介绍

    这篇文章主要为大家详细介绍了css3 3d旋转rotate效果实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了CSS3 3D旋转rotate效果实例,供大家参考,具体内容如下 效果图: 示例代码 立即学习“前端免费学习笔记(深入)”; 3D旋转的Demo #experim…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信