• 页面布局中遇到菱形图片时的处理办法


    第一次遇到菱形图片时感到不好处理,后来经过查资料及请问经验丰富的前端开发人员后总结了两种方法,在此写出来以供大家参考……

    设计师给出的设计图类似下图:

    解决办法一:

    思路:首先切图的时候每个图片都顺时针旋转45°,切成圆角矩形(如下图),然后利用transform:rotate(-45deg);把图片逆时针旋转45°(因为切图的时候是顺时针旋转了45°),再利用相对定位把图片移到各自的位置上。

    解决办法二:

    思路:利用HTML <map> 标签,只需要一张大图,不需要切图,支持各种图形。需要事先把各定点的位置坐标标出来(以最上边的菱形为例)如下图示:

    注:每个多边形的顶点坐标都是相对于整个大图的左上角的(0,0)

    方法一和方法二的代码如下:

    <html>
    <head>
    <meta charset="utf-8">
    <title>菱形图片布局问题</title>
    <style type="text/css" media="screen">
    body{
        background-color:#fff;
        margin:0;
        padding:0;
        width:100%;  
        height:100%; 
    }
    #CS{
        position:absolute;
        left:50%;
        height:504px;
        margin:0 0 0 -381px;
    }
    #cs img{
        width:180px;
        height:180px;
        margin:35px;
        cursor:pointer;
        transform:rotate(-45deg);
        -ms-transform:rotate(-45deg); /* Internet Explorer */
        -moz-transform:rotate(-45deg); /* Firefox */
        -webkit-transform:rotate(-45deg); /* Safari 和 Chrome */
        -o-transform:rotate(-45Deg); /* Opera */
    }
    #cs_1 img{
        position:relative;
        top:-119px;
        left:375Px;
    }
    #cs_3 img{
        position:relative;
        top:119px;
        left:125px;
    }
    #pic_all{
        position:relative;
        top:1000px;
        left:50%;
        margin-left:-500px;
    }
    .rect{cursor:poninter;}
    </style>
    </head>
    <body>
        <!--方法一-->
        <div id="CS">
            <div id="cs_3"><img src="2.png" onClick="alert('3.1');"/></div>
            <div id="cs_2"><img src="1.png" onClick="alert('2.1');"/><img class="center_pic" src="3.png" onClick="alert('2.1');"/><img class="center_pic" src="5.png" onClick="alert('3.3');"/></div>
            <div id="cs_1"><img src="4.png" onClick="alert('1.1');"/></div>
        </div>
        <!--方法二-->
        <img src="pic.png" usemap="#pic_all" alt="pic_all" id="pic_all"/>
         <map name="pic_all" id="pic_all">  
           <area class="rect" shape="poly" coords="364,26,482,149,364,268,243,147" href ="" onClick="alert('OK');" alt="多边形"/>  
         </map>  
    </body>
    </html>
  • 相关阅读:
    数据存储之使用MongoDB数据库存储数据
    数据存储之使用mysql数据库存储数据
    数据存储之json文件处理和csv文件处理
    python使用PyQt5,及QtCreator,qt-unified界面设计以及逻辑实现
    Tesseract-ocr视觉学习-验证码识别及python import pytesseract使用
    ubuntu crontab设置定时任务
    nginx+django线上部署
    PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法
    收集的免费API接口
    C#中字符数组,字节数组和string之间的转化
  • 原文地址:https://www.cnblogs.com/lexie/p/5889693.html
Copyright © 2020-2023  润新知