首页 > 其他分享 >CSS基本布局理解——WEB开发系列38

CSS基本布局理解——WEB开发系列38

时间:2024-09-13 23:24:58浏览次数:12  
标签:浮动 WEB 38 color 布局 grid sidebar CSS 页面

对CSS学习已经接近尾声,下面你可以对以下两道“小卡拉米”测试进行测试下CSS理解程度。


题 1:基于栅格布局的现代博客首页设计

题目要求:
创建一个博客首页布局,包含一个顶部导航栏、一个主要的内容区域(左侧为博客文章列表,右侧为一个侧边栏显示推荐内容),以及一个底部的页脚。要求使用 栅格布局 来分割页面,顶部导航栏固定在顶部,内容区域左右分栏。

代码示例:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客首页</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
        }
        .container {
            display: grid;
            grid-template-rows: 80px 1fr 100px;
            grid-template-columns: 1fr 3fr 1fr;
            grid-template-areas: 
                "header header header"
                "sidebar main main"
                "footer footer footer";
            min-height: 100vh;
        }
        header {
            grid-area: header;
            background-color: #333;
            color: #fff;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 24px;
        }
        .sidebar {
            grid-area: sidebar;
            background-color: #f4f4f4;
            padding: 20px;
        }
        .main-content {
            grid-area: main;
            padding: 20px;
            background-color: #fff;
        }
        footer {
            grid-area: footer;
            background-color: #333;
            color: #fff;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
        }
    </style>
</head>
<body>
    <div class="container">
        <header>导航栏</header>
        <aside class="sidebar">侧边栏推荐内容</aside>
        <section class="main-content">
            <h2>博客文章标题</h2>
            <p>这是博客文章的内容。你可以在这里测试文本和图片布局。</p>
        </section>
        <footer>页脚信息</footer>
    </div>
</body>
</html>


示例解释:

栅格布局的使用:使用 ​​grid-template-rows​​ 和 ​​grid-template-columns​​ 将页面分为三行三列。第一行是顶部导航栏,第二行分为左右两栏,第三行是页脚。通过 ​​grid-template-areas​​ 确定每个区域的布局位置。

顶部导航栏:​​header​​ 元素被设置在第一行,占据整个页面宽度,居中显示导航文字。

内容区域:​​main-content​​ 和 ​​sidebar​​ 分别设置在栅格的中间部分,主内容区域宽度是侧边栏的三倍,符合现代博客的布局风格。

页脚:​​footer​​ 固定在页面底部,跨越整个页面宽度,并居中显示内容。

响应式设计:通过 ​​grid​​​ 的灵活性,你可以轻松扩展布局,适应不同屏幕大小。


题 2:基于 Flexbox 和浮动的响应式电商产品页面

题目要求
创建一个电商网站的产品详情页面,包括顶部的产品图片展示区、描述区、以及一个放置推荐产品的底部区域。要求通过 弹性盒布局 完成产品图片和描述区的布局,底部的推荐产品使用 浮动布局。

代码示例:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>栅格与浮动布局测试</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        .container {
            width: 1200px;
            margin: 0 auto; /* 让容器水平居中 */
            overflow: hidden; /* 清除浮动影响 */
        }
        .sidebar-left, .sidebar-right {
            width: 200px;
            height: 300px;
            background-color: lightcoral;
        }
        .sidebar-left {
            float: left; /* 左侧栏左浮动 */
        }
        .sidebar-right {
            float: right; /* 右侧栏右浮动 */
        }
        .main-content {
            margin: 0 200px; /* 确保主内容区不会被侧边栏覆盖 */
            height: 300px;
            background-color: lightseagreen;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="sidebar-left">左侧边栏</div>
        <div class="main-content">主内容区域</div>
        <div class="sidebar-right">右侧边栏</div>
    </div>
</body>
</html>


示例解释:

弹性盒布局的使用:​​product-section​​ 区域使用了 ​​flexbox​​ 布局,​​product-image​​ 和 ​​product-details​​ 分别占据 1 和 2 的比例,保证图片和描述部分在大屏幕上呈现合理的比例。

图片自适应:​​img​​ 标签通过 ​​max-width: 100%​​ 确保图片不会超出其父容器,且可以根据容器大小自适应缩放。

浮动布局的使用:底部的推荐产品区域采用浮动布局,每个推荐产品使用 ​​float: left​​ 并设置固定宽度,使它们并排排列。同时使用 ​​overflow: hidden​​ 清除浮动。

响应式设计:使用媒体查询(​​@media​​​)调整布局,使页面在移动设备上显示更加友好。当屏幕宽度小于 768px 时,产品图片和描述区垂直排列,推荐产品区域的每个项目宽度为 100%。

 

标签:浮动,WEB,38,color,布局,grid,sidebar,CSS,页面
From: https://blog.csdn.net/LEECOO666/article/details/142236050

相关文章

  • SpringBoot:Web开发(基于SpringBoot使用MyBatis-Plus+JSP开发)
    目录前期准备构建项目(IDEA2023.1.2,JDK21,SpringBoot3.3.3)添加启动器Model准备这里我们利用MybatisX插件生成我们所需要的实体类、数据访问层以及服务层注意选择MyBatis-Plus3以及Lombok然后再在service接口中定义我们所需要的方法以及实现类(利用MyBatis-Plus省去我们......
  • 438. 找到字符串中所有字母异位词
    题目链接438.找到字符串中所有字母异位词思路滑动窗口题解链接官方题解关键点顺序比较;判断的状态量可以依此变更时应当使用“滑动窗口”的方式进行更新时间复杂度\(O(m+(n-m)\times\sum)\)空间复杂度\(O(\sum)\)代码实现:classSolution:de......
  • 从零开始一步一步搭建 Vue3 + Webpack5 项目脚手架指南
    **......
  • Javaweb之SpringBootWeb案例本地存储的详细解析
     2.2本地存储前面我们已分析了文件上传功能前端和后端的基础代码实现,文件上传时在服务端会产生一个临时文件,请求响应完成之后,这个临时文件被自动删除,并没有进行保存。下面呢,我们就需要完成将上传的文件保存在服务器的本地磁盘上。代码实现:在服务器本地磁盘上创建images目录,用来存......
  • 【油猴脚本】00003案例 Tampermonkey油猴脚本引入css 库,油猴脚本css库的使用
    前言:哈喽,大家好,今天给大家分享html+css绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • 【漏洞复现】NUUO网络视频录像机 css_parser.php 任意文件读取
            NUUO网络视频录像机(NetworkVideoRecorder,简称NVR)是NUUOInc.生产的一种专业视频监控设备,它广泛应用于零售、交通、教育、政府和银行等多个领域。能够同时管理多个IP摄像头,实现视频录制、存储、回放及远程监控等功能。它采用先进的视频处理技术,提供高清、流畅......
  • tsx css class样式如何使用
    参考代码import{defineComponent,PropType,h,computed,ref,watch}from'vue';importtype{Reactive,Ref}from'vue';importstylesfrom'../scss/child.module.scss';import'../scss/child.scss';//这引入的样式是全局的,会影响其......
  • 第五章 Web开发:基础Web开发的支持
    学习目标5.1前期准备5.2控制器开发5.2.1JSON的支持5.2.2RESTful的支持5.2.2.1什么是RESTful5.2.2.2SpringBoot对RESTful的支持5.2.3Web测试的支持5.3视图(JSP)开发5.3.1整合JSP5.3.1.1项目结构5.3.1.2配置文件5.3.1.3引入依赖包5.3.1.4编写LoginContr......
  • Rust使用Actix-web和SeaORM开发WebAPI通过Swagger UI查看接口文档
    本文将介绍Rust语言使用Actix-web和SeaORM库,数据库使用PostgreSQL,开发增删改查项目,同时可以通过SwaggerUI查看接口文档和查看标准Rust文档开始项目首先创建新项目,名称为rusty_crab_apicargonewrusty_crab_apiCargo.toml[dependencies]sea-orm={version="1.0.0-rc.5......
  • 面试- Web安全
    XSS攻击(跨站脚本攻击)XSS预防<<>>XSRF(CSRF)攻击(跨站请求伪造)就像是你在不知情的情况下,被别人利用你的权限发起了某个你没打算进行的请求。重点是可以把你的用户信息给带过去,你不知不觉就帮我付款了。XSS是恶意代码“潜伏”在页面上,欺骗你去执行它,比如......