• css倒三角的几种实现方式


    在网页中,你在很多地方都能看到倒三角,比如tooltips,下拉菜单等。大家有几种方式来实现呢?

    1.BASE64编码 图片

    假如你已经有了三角形的图片,并且减少HTTP请求,那么将这个图片转换成一个BASE64字符串是最好的解决方案。

    有用的工具 

    http://webcodertools.com/imagetobase64converter

    http://image2base64.wemakesites.net/

    优点

    • 你可以按照自己的思想设计阴影,渐变等,然后对其进行转换编码

    缺点

    • 你需要使用一个图片编辑软件去设计
    • 对于较大的图片,最终转换成字符串占用大小会很大
    • 旧版本的浏览器,如:IE6/IE7是不兼容的

    2.CSS 边框

    <html>
    <title>倒三角演示代码1</title>
    <head>
     <style type="text/css">
            .triangleDiv{
                border-color: #57af1a #fff #fff #fff;
                border-style: solid;
                border- 100px 60px 0 60px;
                height: 0;
                 0;
            }
        </style>
    </head>
    <body>
    <div class='triangleDiv'></div>
    </body>
    </html>  

    优点

    • 很容易的通过修改一些CSS代码属性值而更改颜色和大小
    • 这是一个跨浏览器的解决方案。

    缺点

    • 这个方式使用的是border,所以你不能添加阴影、渐变、和其他一些CSS3效果
    • 请记住,IE6是不支持透明边界的-如果你关心这个问题
    • 如果你使用火狐浏览器,要知道,CSS的“透明”有时可能不会是透明的

    3.Unicode字符

    <html>
    <title>倒三角演示代码2</title>
    <head>
     <style type="text/css">
            .triangleDiv{
                font-size: 18px;
                color: #f7931d;
                text-shadow: 0 1px 1px rgb(99, 95, 92);
            }
        </style>
    </head>
    <body>
    <span class='triangleDiv'>▼</span>
    </body>
    </html>  
      

    优点

    • 它是一个跨浏览器的技术
    • 您可以使用CSS3的text-shadow属性添加阴影。

    缺点

    • 不能使用太多的CSS3效果,除了使用文字阴影。
    • 在所有的浏览器,这是相当不可能实现像素完美。

    4.CSS 旋转正方形

    <html>
    <title>倒三角演示代码3</title>
    <head>
        <style type="text/css">
            .parentDiv {
                height: 14px;
                overflow: hidden;
            }
    
            .triangleDiv {
                position: relative;
                height: 20px;
                 12px;
                top: -12px;
                left: 7px;
                background: #0c0c0c;
                -moz-transform: rotate(45deg);
                -webkit-transform: rotate(45deg);
                -o-transform: rotate(45deg);
                transform: rotate(45deg);
            }
        </style>
    </head>
    <body>
    <div class="parentDiv">
        <div class="triangleDiv"></div>
    </div>
    </body>
    </html>  

    优点

    • CSS3阴影,渐变等可以更多的使用

    缺点

    • 这个解决方案不是跨浏览器的,首先是因为CSS3旋转。
  • 相关阅读:
    图文详解k8s自动化持续集成之GitLab CI/CD
    GitLab CI/CD 进行持续集成
    高性能伪事务之Lua in Redis
    面向对象之组合VS继承:继承过时了?
    Go依赖模块版本之Module避坑使用详解
    Maven3路程(三)用Maven创建第一个web项目(1)
    C#通过WIN32 API实现嵌入程序窗体
    Selenium自動化測試(Python+VS2013)-基礎篇-環境安裝
    VS2013中Python学习笔记[环境搭建]
    win7 windows server 2008R2下 https SSL证书安装的搭配(搭配https ssl本地测试环境)
  • 原文地址:https://www.cnblogs.com/leeLxj/p/6150288.html
Copyright © 2020-2023  润新知