批改状态:合格
老师批语:每个课程的阴影注意一样!写的很好!很详细!

我们要做的页面就是红色方框中的页面,我是这样分析的:
先看整体页面,body有背景色,在完成初始化工作以后就可以设置body了
整个大容器,有白色的背景,大容器分为两部分:标题栏和图文区
标题栏和图文区分别用容器(div)包裹起来,标题栏使用Flex居中显示,图文区使用Grid网格布局
网格布局好之后,第一张图文区跨越2行,然后准备填充网格项目
每个网格项目里面分为一张图片和一个被div包裹的文字区
让图片自适应,下方文字区需要使用绝对定位使其展示与图片下方
代码如下:
<body><!-- 大容器 --><div class="wrapper"><!-- 标题栏 --><div class="title"><span class="iconfont icon-dashujukeshihuaico-"></span><h3> PHP入门精品课程 </h3><span class="iconfont icon-dashujukeshihuaico-"></span></div><!-- 网格容器 --><div class="container"><!-- 网格项目 --><div class="item"><img src="./images/php-1.jpg" alt="" /></div><div class="item"><img src="./images/php-2.jpg" alt="" /><div><a href="">初级</a><a href="">编程学习方法分享直播</a><span>1W+次播放</span></div></div><div class="item"><img src="./images/php-3.jpg" alt="" /><div><a href="">初级</a><a href="">2018前端入门_HTML5</a><span>18W+次播放</span></div></div><div class="item"><img src="./images/php-4.jpg" alt="" /><div><a href="">初级</a><a href="">CSS视频教程-玉女心</a><span>10W+次播放</span></div></div><div class="item"><img src="./images/php-5.jpg" alt="" /><div><a href="">初级</a><a href="">JavaScript极速入门_玉</a><span>18W+次播放</span></div></div><div class="item"><img src="./images/php-6.jpg" alt="" /><div><a href="">中级</a><a href="">独孤九贱(6)_jQuery视</a><span>12W+次播放</span></div></div><div class="item"><img src="./images/php-7.jpg" alt="" /><div><a href="">初级</a><a href="">30分钟学会网站布局</a><span>6W+次播放</span></div></div><div class="item"><img src="./images/php-8.jpg" alt="" /><div><a href="">初级</a><a href="">[公益直播]Web前端开</a><span>5W+次播放</span></div></div><div class="item"><img src="./images/php-9.jpg" alt="" /><div><a href="">初级</a><a href="">phpStudy极速入门</a><span>40W+次播放</span></div></div><div class="item"><img src="./images/php-10.jpg" alt="" /><div><a href="">中级</a><a href="">ThinkPHP6.0极速入门</a><span>4W+次播放</span></div></div><div class="item"><img src="./images/php-11.jpg" alt="" /><div><a href="">中级</a><a href="">独孤九贱(4)_PHP视频</a><span>50W+次播放</span></div></div><div class="item"><img src="./images/php-12.jpg" alt="" /><div><a href="">初级</a><a href="">php完全自学手册</a><span>20W+次播放</span></div></div><div class="item"><img src="./images/php-13.jpg" alt="" /><div><a href="">初级</a><a href="">MySQL权威开发指南</a><span>2W+次播放</span></div></div><div class="item"><img src="./images/php-14.jpg" alt="" /><div><a href="">中级</a><a href="">[公益直播]PHP实战开</a><span>3W+次播放</span></div></div></div></div></body>
<style>/* 初始化 */* {margin: 0;padding: 0;box-sizing: border-box;}/* body背景色 */body {background: #f3f5f7;}/* 去掉a标签下划线,改变字体颜色和大小 */a {text-decoration: none;color: black;font-size: 14px;}/* 大容器的宽度,高度,圆角,背景色 */.wrapper {width: 1200px;height: 660px;margin: 50px auto;background: white;border-radius: 10px;}/* 大容器中的标题栏,设定高度后,转弹性盒,使文本垂直居中对齐 */.title {height: 80px;display: flex;align-items: center;justify-content: center;color: #666;}/* 标题栏中的字体图标样式 */.title span {font-size: 28px;color: #1e9fff;}/* 中间图文区的容器,使用网格布局此容器 */.container {height: 570px;width: 1180px;margin: auto;display: grid;grid-template-columns: repeat(5, 1fr);grid-template-rows: repeat(3, 1fr);gap: 20px;}/* 第一个图文区跨2行 */.container > div:first-of-type {grid-row: span 2;}/* 设置每个图文区的边框圆角,盒子阴影效果,定位父级 */.container > .item {border-radius: 10px;box-shadow: 5px 10px 5px rgb(223, 220, 220);position: relative;}/* 图片宽度自适应 */.container img {width: 100%;border-radius: 10px;}/* 第一张图片高度自适应 */.container .item:first-of-type img {height: 100%;}/* 网格项目中最下面的“播放”字体显示 */.item span {font-size: 11px;display: inline-block;margin-left: 20px;color: gray;}/* 网格项目中的文字区域高度,背景色,内边距和圆角,绝对定位 */.item div {height: 80px;background: white;border-radius: 10px;position: absolute;bottom: 0;}/* 文字区域中的“初级”“中级”字体显示样式 */.item div a:first-of-type {display: inline-block;border-radius: 3px;background: gray;color: white;padding: 2px;margin: 10px 0 10px 20px;font-size: 13px;}.item div a:last-of-type {display: inline-block;margin-left: 5px;font-size: 13px;}</style>

初次体验了Grid布局,功能确实比Flex强大很多,在布局过程中,我也用到了Flex布局,有些细微之处,用Flex感觉还是不错,和老师的总结是不谋而合的。两者的属性用法还是有相似之处,都要区分好是容器还是项目。不过值得一提的是:grid在容器和项目之间还有一个中间层,就是单元格。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号