CSS实现小黑板

简介: CSS实现小黑板

效果图

image.png

页面结构

我们实现黑板需要有一个黑板大盒子,黑板大盒子中包括了黑板内容盒子和黑板腿盒子

<div id="app">
        <!--        黑板盒子 -->
        <div class="blackboard">
            <!-- 黑板内容 -->
            <div class="blackboard_content">中秋快乐!</div>
            <!-- 黑板腿 -->
            <ul>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </div>
    </div>

初始样式

先清除页面内外边距,在让#app盒子占满整个屏幕,利用flex布局的方式让里面的内容进行垂直水平居中进行显示

* {
            margin: 0;
            padding: 0;
        }
        #app {
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
        }

黑板大盒子

黑板大盒子我们这里需要使用到定位,因为黑板腿我们需要通过定位的方式定位到下方,给黑板大盒子设置好宽高和背景色,同时也使用flex布局将里面的内容进行垂直水平居中显示,并且设置好圆角以及内边距

/* 黑板盒子 */
        .blackboard {
            position: relative;
            width: 500px;
            height: 300px;
            display: flex;
            justify-content: center;
            align-items: center;
            background: #e9a065;
            border-radius: 30px;
            padding: 20px;
        }

黑板内容盒子

黑板内容盒子我们也需要用到定位,因为黑板腿通过定位的方式放到底部层级会比内容盒子高,所以我们使用定位提高内容盒子层级,然后再设置好宽高以及边框圆角以及文字颜色以及文字大小

/* 黑板内容 */
        .blackboard_content {
            position: relative;
            width: 100%;
            height: 100%;
            background: #000;
            border-radius: 20px;
            color: #fff;
            font-size: 25px;
            font-weight: bold;
            padding: 10px;
            box-sizing: border-box;
            z-index: 9;
        }

黑板腿

黑板腿我们这里使用无序列表结合定位的方式实现,先将黑板腿大盒子定位到黑板大盒子的底部且水平居中,然后使用flex布局的方式让黑板腿盒子X轴排列,给子盒子设置好宽高和背景颜色,最后通过CSS的旋转属性,将里面的子盒子实现交叉的效果

/* 黑板腿 */
        ul {
            position: absolute;
            top: 80%;
            left: 50%;
            transform: translate(-50%);
            list-style: none;
            display: flex;
        }
        ul>li {
            width: 15px;
            height: 150px;
            border-radius: 5px;
            background: #e9a065;
            transform-origin: center center;
        }
        ul>li:nth-child(1) {
            transform: rotate(45deg);
        }
        ul>li:nth-child(3) {
            transform: rotate(-45deg);
        }

代码我已经放到码上掘金了,感兴趣的大家可以看一下!

image.png

相关文章
|
1月前
|
XML 前端开发 数据格式
CSS应用
CSS应用
16 0
|
9天前
|
XML 前端开发 数据格式
什么是CSS?
什么是CSS?
|
1月前
|
前端开发 UED
CSS
CSS
15 0
|
7月前
|
前端开发
|
4月前
|
前端开发 JavaScript Java
CSS Transitions(二)
CSS Transitions(二)
|
4月前
|
Web App开发 前端开发 图形学
CSS 20大酷刑(一)
CSS 20大酷刑(一)
|
8月前
|
前端开发
很实用的几个css小技巧
很实用的几个css小技巧
70 0
|
8月前
|
前端开发 安全 容器
CSS(2)
在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。 复合选择器可以更准确、更高效的选择目标元素(标签)。 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。 常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。
42 1
|
前端开发
CSS 介绍
CSS介绍
81 0
|
前端开发
css的理解总结
css的理解总结