zoukankan      html  css  js  c++  java
  • css笔记--web端小于1px设计的处理方法

    HTML代码

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>last-child</title>
        <style>
    
            body{
                color:#333;
            }
            li.test-last-child:after{
                display: block;
                content: '';
                height: 10px;
                background-color: #0000ed;
                transform:scaleY(0.3);
            }
            li.test-last-child:last-child:after{
                display: none;
            }
        </style>
    </head>
    <body>
    <ul>
        <li class="test-last-child">321312</li>
        <li class="test-last-child">31313</li>
        <li class="test-last-child">3131</li>
        <li class="test-last-child">1413</li>
        <li class="test-last-child">141321</li>
        <li class="test-last-child">1421</li>
    </ul>
    
    </body>
    </html>
    

    伪元素after的高度为10px时chrome效果图

      

    伪元素after的高度为10px时Firefox效果图

    伪元素after的高度为1px时chrome效果图

    伪元素after的高度为1px时Firefox的效果图

    1、伪元素的高度大于1px时scale可以正常渲染,当高度为1时,scale小于1时火狐浏览器不能很好的渲染出来。

    2、实际上,当伪元素的高度为1px时,scale在谷歌浏览器虽然能正确显示出来,但是渲染的过程中只是改变了颜色的透明度,并没有改变高度的大小。

    如下图所示:渲染前

    渲染后

    而此时,火狐浏览器压根是不渲染的(因为为元素的高度小于1且scale也小于1),所以scale的方式解决小于1px时会存在兼容问题

    此时,最好的解决办法是

    当设计稿的像素小于1px时,代码渲染直接是1px,然后给border-color或者background-color的色值设置为rgba形式

    如下图,兼容谷歌和火狐

    谷歌

    火狐

  • 相关阅读:
    sonar6.7.2启动报错
    linux 查看/修改jdk版本
    idea一款颜值很高的theme
    生成唯一UUID
    连接池异常
    手机网页点击后出现蓝色框
    iScroll4中事件点击一次却触发两次解决方案
    base.js
    javascript与css3动画学习笔记
    javascript对象学习笔记
  • 原文地址:https://www.cnblogs.com/MonaSong/p/5512280.html
Copyright © 2011-2022 走看看