zoukankan      html  css  js  c++  java
  • 如何用css画一个文件上传图案?

    如下图,如果是你,你会怎么实现:

    通常我们会通过字体图标来显示中间的加号,外层用一个div包裹即可;或者使用伪元素来模拟中间的一横一竖,这都比较麻烦。

    其实我们可以直接使用div+css就可以实现。

    轮廓属性outline

    outline属性是用来设置一个或多个单独的轮廓属性的简写属性 , 例如 。

    轮廓有下面几个属性:

    {
        outline-style: solid;
        outline- 10px;
        outline-color: red;
    }

    他们有一种简写形式:

    {
        outline: 10px solid red;
    }

    轮廓的特点

    轮廓不占据空间,它们被描绘于内容之上。

    可以做到下图的效果:

    我发现,当设置 outline-offset 为负值的时候,轮廓会出现在div的内部,如果继续扩大其负值,最终轮廓会收缩成一个“➕”加号,正好可以作为文件上传样式中间的加号。

    这就有意思了,于是代码就来了:

    div {
        margin: 100px;
         100px;
        height: 100px;
        outline: 15px solid #545454;
        outline-offset: -66px;
        border: 2px solid #545454;
    }

    outline-offset: -66px; 是关键,它表示轮廓距div边的距离,如果为负值则会往里面收缩,最后形成一个加号。具体上传样式的大小和outline的宽度都需要自己慢慢调整已达到大和谐。

    需要注意的是:

    • 容器得是个正方形
    • outline 边框本身的宽度不能太小

    (啾咪)

  • 相关阅读:
    APNS 证书生成注意事项
    Remove a Submodule within git
    Quartz.NET
    Linux.net && mono
    系统整理qt笔记1
    串口通讯之rs232 c++版本
    串口通信 之 linux固定串口别名的两种方法
    系统整理qt笔记3
    串口通信+进制基础+位运算
    qt(二)
  • 原文地址:https://www.cnblogs.com/lvonve/p/14180301.html
Copyright © 2011-2022 走看看