재미있는 css 면접문제

2959 단어 css
오늘 면접을 보러 나갔는데 재미있는 면접 문제를 만났다. 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; width: 360px; height: 360px; background-color: #ff0000; overflow: hidden;}

        li{ float: left; width: 100px; height: 100px; margin:0 20px 20px 0; background-color: #000000; list-style-type: none;}

        li:hover{ box-shadow:0 0 0 20px orange;}


이것은 박스 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; width: 360px; height: 360px; background-color: #ff0000; overflow: hidden;}

        li{ position: relative; float: left; width: 100px; height: 100px; margin:0 20px 20px 0; background-color: #000000; list-style-type: none;}

        li a{ position: absolute; left: 0; top: 0; width: 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
 
 
 
---------------------------------------------------------------
풍운의 대신은 역시 대신이다. 분만에 이 문제를 해결하고 코드를 올린다.
완벽한 답안.
 

좋은 웹페이지 즐겨찾기