HTML+CSS练习小项目——百叶窗

2024-05-16 15:20

本文主要是介绍HTML+CSS练习小项目——百叶窗,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        前言:在学习完HTML和CSS之后,我们就可以开始做一些小项目了,本篇文章所讲的是新手可以练习的小项目——百叶窗


✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

先让我们看一下效果:(总代码在文章的最后,读者可以先复制进行体验!)

那么我们如何去实现这样的小案例呢?先看一下我们要实现百叶窗的步骤:

那么接下来我将一步步带你实现百叶窗小项目:(每一步都有详解,读者可以根据详解进行进一步理解!)

        (1)将主体放在视口的中央

为了更好的展示我们的小项目,所以我们可以将框架的主体放在视口的中央。

html代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./百叶窗.css">
</head><body><!-- 设置主体框架 --><div class="container"></div>
</body></html>

CSS代码:

/* 简单的重置一下样式 */
* {margin: 0px;padding: 0px;
}body {/* 默认body是没有高度的,这里我们将高度设置为视口高度 */height: 100vh;/* 添加背景颜色 */background-color: #7f8c8d;/* 使框架居中 */display: flex;justify-content: center;align-items: center;
}.container {/* 设置主体的宽高 */width: 900px;height: 300px;/* 并且将主体设置为伸缩盒模型,这在之后将帮助我们实现伸缩效果 */display: flex;background-color: aliceblue;
}

效果:

在其每一步我们都进行了讲解,读者可以跟随讲解自行理解一下。

        

        (2)向主体中添加元素

在将主体放在视口的中央之后,我们就可以向主体中添加元素了。

html代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./百叶窗.css">
</head><body><div class="container"><!-- 向主体中添加元素 --><div class="inner"><img src="./image/1.gif"></div><div class="inner"><img src="./image/2.gif"></div><div class="inner"><img src="./image/3.gif"></div><div class="inner"><img src="./image/4.gif"></div><div class="inner"><img src="./image/5.gif"></div><div class="inner"><img src="./image/6.gif"></div><div class="inner"><img src="./image/7.gif"></div></div>
</body></html>

CSS代码:无进行任何操作!!!

效果:

        

        (3)使用伸缩盒模型+过渡实现百叶窗

在向主体中添加元素之后,我们就可以对其元素开始进行设置排版了,先让我们内部元素设置好。

html代码:无进行任何操作!!!

CSS代码:

.container {/* 设置主体的宽高 */width: 900px;height: 300px;/* 并且将主体设置为伸缩盒模型,这在之后将帮助我们实现伸缩效果 */display: flex;
}img {/* 给内部的图片设置宽高,方式图片过大内容显示不全,影响观感 */width: 400px;
}.container .inner {/* 给每个内部div设置溢出隐藏,防止图片溢出div */overflow: hidden;/* 设置过渡属性和过渡时间 */transition: all 1s;
}

效果:

这样我们就完成了内部元素的设置,接下来让我们实现百叶窗效果。

html代码:无进行任何操作!!!

CSS代码:

/* 设置选中后效果 */
.container .inner:hover {/* 鼠标浮动到元素上之后就会使该元素不会进行伸缩,及恢复原来宽度 */flex-shrink: 0;/* 设置阴影,更加立体 */box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.833);/* 设置边框,使效果更加明显 */border: 3px solid black;
}

效果:

这样我们就完成了这个百叶窗的小项目。

代码总合:

        html代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./百叶窗.css">
</head><body><div class="container"><!-- 向主体中添加元素 --><div class="inner"><img src="./image/1.gif"></div><div class="inner"><img src="./image/2.gif"></div><div class="inner"><img src="./image/3.gif"></div><div class="inner"><img src="./image/4.gif"></div><div class="inner"><img src="./image/5.gif"></div><div class="inner"><img src="./image/6.gif"></div><div class="inner"><img src="./image/7.gif"></div></div>
</body></html>

        CSS代码:

/* 简单的重置一下样式 */
* {margin: 0px;padding: 0px;
}body {/* 默认body是没有高度的,这里我们将高度设置为视口高度 */height: 100vh;/* 添加背景颜色 */background-color: #7f8c8d;/* 使框架居中 */display: flex;justify-content: center;align-items: center;
}.container {/* 设置主体的宽高 */width: 900px;height: 300px;/* 并且将主体设置为伸缩盒模型,这在之后将帮助我们实现伸缩效果 */display: flex;
}img {/* 给内部的图片设置宽高,方式图片过大内容显示不全,影响观感 */width: 400px;
}.container .inner {/* 给每个内部div设置溢出隐藏,防止图片溢出div */overflow: hidden;/* 设置过渡属性和过渡时间 */transition: all 1s;
}/* 设置选中后效果 */
.container .inner:hover {/* 鼠标浮动到元素上之后就会使该元素不会进行伸缩,及恢复原来宽度 */flex-shrink: 0;/* 设置阴影,更加立体 */box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.833);/* 设置边框,使效果更加明显 */border: 3px solid black;
}


以上就是本篇文章的所有内容了~~~

这篇关于HTML+CSS练习小项目——百叶窗的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995283

相关文章

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

vue, 左右布局宽,可拖动改变

1:建立一个draggableMixin.js  混入的方式使用 2:代码如下draggableMixin.js  export default {data() {return {leftWidth: 330,isDragging: false,startX: 0,startWidth: 0,};},methods: {startDragging(e) {this.isDragging = tr

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

js+css二级导航

效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

vue+el国际化-东抄西鉴组合拳

vue-i18n 国际化参考 https://blog.csdn.net/zuorishu/article/details/81708585 说得比较详细。 另外做点补充,比如这里cn下的可以以项目模块加公共模块来细分。 import zhLocale from 'element-ui/lib/locale/lang/zh-CN' //引入element语言包const cn = {mess

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

vue+elementUI下拉框联动显示

<el-row><el-col :span="12"><el-form-item label="主账号:" prop="partyAccountId" :rules="[ { required: true, message: '主账号不能为空'}]"><el-select v-model="detailForm.partyAccountId" filterable placeholder="