zoukankan      html  css  js  c++  java
  • css3使用技巧:细线边框的3种不同的写法

     一般的app边框描边的线都小于一像素,那么我就像往常一样直接描了1px的边框,虽然是1px可是结果和app里的描边完全不一样“粗了”,所以就在网找了一下看看有没有解决方法,可是找了一会没找到,那咋办,需求方不愿意不要这么粗,那就只能自己解决了。

    1,首先想到的方法是做一张高2像素(1像素有颜色1像素没颜色)的图片做背景,bg-size设置宽100%,高1px

    .line li{  
                background: url('line.png') left top no-repeat;
                background-size: 100% 1px;
                background-position: left bottom;}
    <ul class="line">
        <li></li>
        <li></li>
        <li></li>
    </ul>

    OK,出来了,但有点瑕疵,那么问题来了,左右边框描边虽然可以做旋转(transform) ,但如果要是边框更换颜色那不是还要在做图片了,好像是有点麻烦哦;

    2,所以用上个方法联想到了线性渐变(linear-gradient)

    .line li{  border: none;
      background-image: -webkit-linear-gradient(#222 50%,transparent 50%);
      background-image: -moz-linear-gradient(#222 50%,transparent 50%);
      background-image: -o-linear-gradient(#222 50%,transparent 50%);
      background-image: linear-gradient(#222 50%,transparent 50%);
      background-size:  100% 1px;
      background-repeat: no-repeat;
      background-position: bottom;}
    <ul class="line">
        <li>linear-gradient</li>
        <li>linear-gradient</li>
        <li>linear-gradient</li>
    </ul>

    OK,又出来了,但还是有点瑕疵,那么问题来了,就是改变描边位置(left,top,right,bottom)需要修改参数

    如 left描边需要改变:

    background-image: -webkit-linear-gradient(left ,transparent 50%,#222 50%);
    background-size:  1px 100%;
    background-position: left;

    都不一一列出了,好像还是有点麻烦哦;

    3,所以想到了CSS3阴影(box-shadow),就是用阴影做描边然后用伪类把多余的给遮罩着,

    .line li{box-shadow: inset 0 -1px 1px #000;background: #fff;margin-left: -1px;margin-bottom: 10px;position: relative;}
    .line li::after{content:'';position: absolute;top:0;left: 0px;right: 0px;bottom: 0px;border: 1px solid #fff;}
    <ul class="line">
        <li>box-shadow</li>
        <li>box-shadow</li>
        <li>box-shadow</li>
    </ul>
  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/hfxm/p/5000400.html
Copyright © 2011-2022 走看看