一道考查面试者CSS功底的面试题—实现CSS九宫格

简介: 一道考查面试者CSS功底的面试题—实现CSS九宫格

通过CSS实现九宫格可以很好的考查候选人的CSS基本功,所以在当今的前端面试中,无论是大厂还是小厂,这个面试题经常出现在候选人面前,这道题目看似简单,但是最终能够做出来的人也是凤毛麟角,让我们来一探究竟吧。

方法一:使用table

table布局能够实现的原因在于table的tr和td能够将元素形成行列显示。table布局中有一个是否合并边框的样式border-collapse: collapse;值得我们注意。

HTML部分

<table>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>
复制代码

CSS部分

* {
    margin: 0;
    padding: 0;
}
table {
    border-collapse: collapse;
    margin: 0 auto;
}
table td {
    width: 60px;
    height: 60px;
    background-color: blue;
    border: 1px solid #000;
    text-align: center;
    line-height: 60px;;
}
复制代码

方法二:使用flex布局

使用flex布局的核心在于flex-wrap: wrap。

HTML部分

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
</ul>
复制代码

CSS部分

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
li {
    list-style: none;
}
ul {
    display: flex;
    flex-wrap: wrap;
    width: 180px;
    height: 180px;
}
ul > li {
    background-color: blue;
    width: calc(100% / 3);
    height: 60px;
    line-height: 60px;
    border: 1px solid #000;
    text-align: center;
}
复制代码

实现效果

image.png

相关文章
|
24天前
CSS3实现的九宫格图片鼠标悬停去除遮罩层源码
CSS3实现的九宫格图片鼠标悬停去除遮罩层源码
17 0
CSS3实现的九宫格图片鼠标悬停去除遮罩层源码
|
6月前
|
算法 Java 调度
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
76 0
|
3月前
|
Web App开发 前端开发 JavaScript
「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!
该文章通过一张思维导图和六大知识板块系统梳理了前端面试中涉及的CSS核心知识点,包括CSS框架、基础样式问题、布局技巧、动画处理、浏览器兼容性及性能优化等方面的内容。
|
4月前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
304 8
|
4月前
|
前端开发 容器
前端面试热门问题--浮动和清除浮动(CSS)
前端面试热门问题--浮动和清除浮动(CSS)
|
4月前
|
前端开发 容器
分享一些我在面试时所遇到的CSS问题 (五)
分享一些我在面试时所遇到的CSS问题 (五)
|
4月前
|
前端开发 容器
分享一些我在面试时所遇到的CSS问题 (四)
分享一些我在面试时所遇到的CSS问题 (四)
|
4月前
|
前端开发 JavaScript
分享一些我在面试时所遇到的CSS问题 (三)
分享一些我在面试时所遇到的CSS问题 (三)
|
4月前
|
前端开发 容器
分享一些我在面试时所遇到的CSS问题 (二)
分享一些我在面试时所遇到的CSS问题 (二)
|
4月前
|
前端开发 容器
分享一些我在面试时所遇到的CSS问题 (一)
分享一些我在面试时所遇到的CSS问题 (一)