css:移动端实现1px、0.5px的细线

简介: css:移动端实现1px、0.5px的细线

实现效果

image.png

在线体验: https://mouday.github.io/front-end-demo/1px.html

实现代码

  <body>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100vh;
      }
      .margin-top--20 {
        margin-top: 20px;
      }
      .box {
        width: 500px;
        height: 100px;
        box-sizing: border-box;
      }
      /* 1px border */
      .border--1 {
        border: 1px solid gray;
      }
      .border--0_5 {
        position: relative;
      }
      /* 通过伪元素实现 0.5px border */
      .border--0_5::after {
        position: absolute;
        content: "";
        /* 为了与原元素等大 */
        box-sizing: border-box;
        left: 0;
        top: 0;
        width: 200%;
        height: 200%;
        border: 1px solid gray;
        transform: scale(0.5);
        transform-origin: 0 0;
      }
      .line {
        width: 500px;
      }
      /* 实现 1px 细线 */
      .line--1 {
        height: 1px;
        background: #b3b4b8;
      }
      .line--0_5 {
        position: relative;
      }
      /* 通过伪元素实现 0.5px 细线 */
      .line--0_5::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 200%;
        height: 1px;
        background: #b3b4b8;
        transform: scale(0.5);
        transform-origin: 0 0;
      }
      /* dpr适配可以这样写 */
      @media (-webkit-min-device-pixel-ratio: 2) {
        .line--0_5::after {
          height: 1px;
          transform: scale(0.5);
          transform-origin: 0 0;
        }
      }
      @media (-webkit-min-device-pixel-ratio: 3) {
        .line--0_5::after {
          height: 1px;
          transform: scale(0.333);
          transform-origin: 0 0;
        }
      }
    </style>
    <h1>1px border</h1>
    <div class="box border--1"></div>
    <h1 class="margin-top--20">0.5px border</h1>
    <div class="box border--0_5"></div>
    <h1 class="margin-top--20">1px line</h1>
    <div class="line line--1"></div>
    <h1 class="margin-top--20">0.5px line</h1>
    <div class="line line--0_5"></div>
  </body>
相关文章
|
3月前
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
73 4
|
3月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
180 6
移动端的打开方式,打开F12之后,就可以看到手机样式设计,移动端的初始化使用normalize.css代码库录到,box-sizing: border-box; 定宽度为多少就是多少,代码库,移动端
移动端的打开方式,打开F12之后,就可以看到手机样式设计,移动端的初始化使用normalize.css代码库录到,box-sizing: border-box; 定宽度为多少就是多少,代码库,移动端
|
6月前
|
前端开发 UED
触屏新体验:CSS动画让移动端底部导航活起来!
触屏新体验:CSS动画让移动端底部导航活起来!
|
6月前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
355 8
|
6月前
|
前端开发
css中px和em的区别
css中px和em的区别
80 0
|
6月前
|
前端开发
css中px和em的区别
css中px和em的区别
|
6月前
|
前端开发
CSS——如何使网页字体小于12px
CSS——如何使网页字体小于12px
52 0
|
8月前
|
缓存 前端开发 JavaScript
从HTML、CSS以及其他方面介绍一些移动端网页性能优化的策略
【6月更文挑战第14天】本文探讨了移动端网页性能优化的重要性,并提出了HTML、CSS及其他方面的优化策略。HTML方面,建议精简结构、使用语义化标签、异步加载脚本和压缩文件。CSS优化包括简化样式、利用CSS3动画、媒体查询及压缩文件。其他策略涉及图片和字体优化、缓存利用、压缩传输数据、减少HTTP请求及监听网络状态。通过这些方法,可提升网页性能,改善用户体验。
86 1
|
7月前
|
编解码 前端开发
CSS【详解】长度单位 ( px,%,em,rem,vw,vh,vmin,vmax,ex,ch )
CSS【详解】长度单位 ( px,%,em,rem,vw,vh,vmin,vmax,ex,ch )
112 0

热门文章

最新文章