zoukankan      html  css  js  c++  java
  • 一道有意思的css面试题,9宫格

    今天出去面试,遇到了一道有意思的面试题:写一个css9宫格,要求边框是5px,鼠标hover的时候边框变色。

    当时没有答出来,回来想了两个写法感觉都不是最优解。

    1.html部分

    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    

     css部分

            *{ margin:0; padding:0;}
            ul{ padding:20px 0 0 20px;  360px; height: 360px; background-color: #ff0000; overflow: hidden;}
            li{ float: left;  100px; height: 100px; margin:0 20px 20px 0; background-color: #000000; list-style-type: none;}
            li:hover{ box-shadow:0 0 0 20px orange;}
    

     这个用到了box-shadow,显然不是最优解。

    2.html部分

    <ul>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
        <li><a></a> </li>
    </ul>
    

     css部分

            *{ margin:0; padding:0;}
            ul{ padding:20px 0 0 20px;  360px; height: 360px; background-color: #ff0000; overflow: hidden;}
            li{ position: relative; float: left;  100px; height: 100px; margin:0 20px 20px 0; background-color: #000000; list-style-type: none;}
            li a{ position: absolute; left: 0; top: 0;  100%; height:100%;}
            li:hover a{ left: -20px; top: -20px; border:20px solid orange;}
    

     这个多用了一个标签,显然也不是最优解。

    不知大家有何高见。

    附上线上测试页1:http://iridescent.cn/test/      2:http://iridescent.cn/test/test2.html

    ---------------------------------------------------------------

    风云的大神不愧是大神,分分钟就把这道题给搞定了,上代码:

    <style type="text/css">
        .main{
            190px;
            height:190px;
        }
        .box{
            float: left;
             50px;
            height: 50px;
            background: #000;
            border: 10px solid red;
            margin:-10px 0px 0px -10px;
            position:relative;
            z-index:1;
        }
        .box:hover{
             border: 10px solid yellow;
             z-index:2;
        }
    </style>
    <div class="main">
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
    </div>


    完美的答案。

  • 相关阅读:
    寒假作业第二组E题题解
    寒假作业第二组C题题解
    [LeetCode]-DataBase-Employees Earning More Than Their Managers
    Python爬取中文页面的时候出现的乱码问题(续)
    用命令行编译运行java文件的乱码问题
    Python爬取中文页面的时候出现的乱码问题
    Python模拟登陆
    Mysql中经常出现的乱码问题
    数据表的自身连接
    人总会有无奈和彷徨的时候,这个时候你就需要一盏明灯。
  • 原文地址:https://www.cnblogs.com/childsplay/p/4342132.html
Copyright © 2011-2022 走看看