CSS--两列网页布局,三列布局和多行多列布局

两列网页布局

两列网页布局实验

先将一个未运用浮动效果的网页结构写出来

<style>header{/* 给页眉设置宽高和样式 */width:1000px;height: 40px;background-color: gray;border: 3px brown solid;margin-bottom: 5px;}article{width:1000px;height: 600px;background-color: grey;border: 3px yellow solid;}footer{/* 给页脚设置宽高和样式 */width:1000px;height: 40px;background-color: gray;border: 3px brown solid;margin-top: 5px;}#one{width:600px;height: 500px;background-color: greenyellow;border: 3px black solid;}#two{width:250px;height: 350px;background-color: greenyellow;border: 3px black solid;}</style><body><header></header><article><section id="one"></section><section id="two"></section></article><footer></footer>
</body>

这是一个还没有运用浮动效果的一个简单网页结构 ,具备了一个网页的基本结构,页眉,页脚,内容盒子,和侧边栏盒子。

用浮动效果将内容盒子和侧边栏盒子移动成两列网页样式

#one{width:600px;height: 500px;background-color: greenyellow;border: 3px black solid;/* 左浮动 */float: left;/* 上,左外边距调整 */margin-top: 40px;margin-left: 40px;}#two{width:250px;height: 350px;background-color: greenyellow;border: 3px black solid;/* 右浮动 */float: right;/* 下,右外边距调整 */margin-right: 50px;margin-top: 40px;}

 就这样一个简单的两列式网页就诞生了


两列网页布局习题

 简单的一个两列网页布局我们已经学会了,那么如果想要做出如下图一样效果,要怎么做呢?

<style>nav ul{height:30px;  /*给父盒设置高度,避免高度塌陷影响其他兄弟盒*/background-color: aquamarine;}nav ul li{/* 右外边距设置 */margin-right: 20px;/* 导航栏内容左浮动 */float:left;}#contact{width: 220px;height: 160px;background-color: pink;border: 2px black solid;/* 用固定定位制作一个浮动的小盒子 */position: fixed;/* 向左偏移至距离浏览器窗口顶端1100px */left:1100px;/* 垂直向上偏移至距离浏览器窗口顶端500px */top:500px;}section{/* width: 100%; */background-color: rgb(228, 222, 229);border: 20px black solid;}article{/* 宽和高的单位可以用px 也可以用%。由于在这里用px为单位比较繁琐,所以用了%为单位 */width: 70%;height: 500px;background-color: rgb(240, 199, 199);border: 2px black solid;float: left;}aside{width: 25%;height: 500px;background-color: rgb(213, 244, 213);border: 2px black solid;/* 左浮动 */float: right;margin-right: 2%;}footer{width: 100%;height: 10%;background-color: rgb(243, 192, 255);border: 2px black solid;}</style>
</head>   <body>  <header>  <h1 align="center">第五人格</h1>  <p align="center">欢迎来到: <ins>第五人格</ins></p>  <hr> <nav>  <ul type="none">  <li><a href="#">战绩</a></li>  <li><a href="#">排位</a></li>  <li><a href="#">匹配</a></li>  <li><a href="#">归宿</a></li>  </ul>  </nav>  </header>  <hr>  <main>  <section>  <article>  <h3>文章标题</h3>  <p>这里是文章的内容简介。<br>可以使用<br>标签进行换行。</p>  <br><br><br><img src="../CSS常用属性/第五图片.png" alt="文章配图" width="200" height="200">  <p>想了解第五人格:<a href="https://gdyfvccm.edu.cn/">点击这里</a></p>  </article>  <aside>  <h3>侧边栏</h3>  <p>侧边栏内容,如快速链接、广告等。</p>  <table border="1">  <tr>  <th>角色</th>  <th>链接</th>  </tr>  <tr>  <td>求生者</td>  <td><a href="角色A详情页.html">专业A详情</a></td>  </tr>  <tr>  <td>监管者</td>  <td><a href="角色B详情页.html">专业B详情</a></td>  </tr>  </table>  </aside>  <div style="clear: both;"></div></section>  <section id="contact">  <h4>联系我们</h4>  <form>  姓名:<input type="text" id="name" name="name"><br>  邮箱:<input type="email" id="email" name="email"><br>  <input type="submit" value="提交">  </form>  </section>  </main>  <hr>  <footer>  <p>版权所有 &copy; 2024 第五人格官方</p>  </footer>  </body>  </html>

就这样通过浮动效果和固定定位我们就做出了一个两列式的网页啦! 


三列网页布局

三列布局和两列布局非常相似(如下图):

 我们来尝试用浮动的方法来实现上图的三列布局吧


 三列布局实验

首先我们先把三列布局的基本结构写好

<body><header>网页页眉</header><section class="clear_ele"><div id="div1">左侧边栏</div><div id="div2">右侧边栏</div><div id="div3">中间主区域</div></section><footer>网页页脚</footer>
</body>

 对三列布局的骨架标签进行一个样式的设置,此时的盒子呈正常文档流排列

<style>/* 给页眉设置宽高,背景颜色和样式 */header{width: 100%;height: 30px;background-color: orange;border: 2px black solid;text-align: center;}#div1{width: 10%;height: 800px;background-color: red;border: 3px black solid;}#div2{width: 10%;height: 800px;background-color: blue;border: 3px black solid;}#div3{width: 75%;height: 800px;background-color: green;
border: 3px black solid;}footer{width: 100%;height: 30px;background-color: orange;border: 2px black solid;text-align: center;}
</style>

其次通过浮动来移动盒子

盒子1向左移动,盒子2向右移动。

#div1{width: 10%;height: 800px;background-color: red;border: 3px black solid;float:left;/* 盒子1向左浮动 */}#div2{width: 10%;height: 800px;background-color: blue;border: 3px black solid;float:right;/* 盒子2向右浮动 */}

两个盒子一左一右,而盒子3向上填补浮层,但是盒子3的一部分被盒子1给覆盖住了,这时如果我们想要将盒子3完全展现出来并让盒子与盒子之间留有空隙,有两个方法:

1.  通过浮动,将盒子3进行左浮动,此时盒子3的左边缘和盒子1的右边缘紧贴着,如果想让盒子与盒子之间留有空隙,我们还需对盒子进行一个外边距的设置

2.  可以直接对盒子进行一个外边距的设置,外边距值的设置要大于左右两个盒子本身的宽度。

注:两种方法达成的效果是一样的

 #div3{/* 第一种方法 */width: 75%;height: 800px;background-color: green;/* 注意:中间盒子的左右外边距,最好大于左右侧边栏的宽度 */float: left;margin-left: 2%;margin-right: 2%;border: 3px black solid;}#div3{/* 第二种方法 */width: 75%;height: 800px;background-color: green;/* 注意:中间盒子的左右外边距,最好大于左右侧边栏的宽度 */margin-left: 12%;margin-right: 12%;border: 3px black solid;}

 最后,为了防止父盒的塌陷问题,在代码的最后加上一个伪元素,然后用clear所有清除浮层的影响。(为了让大家看清楚这个伪元素的存在,这里对其设置了边框样式,可以从下图里看到一个紫色边框的元素)

.clear_ele::after{content: "";  /* 这个伪元素的内容属性必须有 */display: block;border: 6px purple dashed;clear: both;}

 CSS--三列布局就完成了


 多行多列网页布局

多行多列布局是一种常见的网页布局方式,通常用于展示大量信息或分割页面内容。它将页面划分为多行和多列的网格,每个网格可以容纳不同的内容。

多行多列布局实验

 多行多列布局基本结构

做一个内含有八个盒子的多行多列布局,先用有序标签进行一个大概的框架

<body><section class="container"><ul class="clear_ele">  <li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul></section>
</body>

 给父盒设置宽高和样式

<style>/* 防止父盒塌陷 */.clear_ele::after{content: "";  /* 这个伪元素的内容属性必须有 */display: block;clear: both;}/* 父盒样式设置 */.container{width: 50%;background-color: gray;border: 6px black solid;}
</style>

给有序标签中的ul元素的外边距和内边距的值设为0 ,确保一致的页面布局。

然后对有序标签中的 li 元素设置样式和外边距的距离,再通过浮动来得到想要的排列。

article ul{margin: 0;padding: 0;}.container ul li{/*  用于设置列表项(li元素)的样式。none:不显示标记符号*/list-style: none;width: 20%;height: 150px;background-color: pink;border: 2px red solid;margin-right: 2%;margin-bottom: 2%;float: left;}

CSS-- 多行多列布局结束


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/463848.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用Web-Check和cpolar实现安全的远程网站监测与管理

文章目录 前言1.关于Web-Check2.功能特点3.安装Docker4.创建并启动Web-Check容器5.本地访问测试6.公网远程访问本地Web-Check7.内网穿透工具安装8.创建远程连接公网地址9.使用固定公网地址远程访问 前言 本期给大家分享一个网站检测工具Web-Check&#xff0c;能帮你全面了解网…

Webserver(2.6)信号

目录 信号的概念信号相关的函数killraiseabortalarm1s钟电脑能数多少个数&#xff1f; setitimer过3s以后&#xff0c;每隔2s定时一次 信号捕捉函数signalsigaction 信号集sigprocmask编写一个程序&#xff0c;把所有的常规信号未决状态打印到屏幕 sigchld信号 信号的概念 比如…

AprilTag在相机标定中的应用简介

1. AprilTag简介 相机标定用的标靶类型多样,常见的形式有棋盘格标靶和圆形标靶。今天要介绍的AprilTag比较特别,它是一种编码形式的标靶。其官网为AprilTag,它是一套视觉基准系统,包含标靶编解码方法(Tag生成)和检测算法(Tag检测),可用于AR、机器人、相机标定等领域。…

Qt报错QOCI driver not loaded且QOCI available的解决方法

参考 Linux Qt 6安装Oracle QOCI SQL Driver插件&#xff08;适用WSL&#xff09; 安装 QOCI 插件完成后运行 Qt 项目报错&#xff1a; qt.sql.qsqldatabase: QSqlDatabase: QOCI driver not loaded qt.sql.qsqldatabase: QSqlDatabase: available drivers: QMIMER QPSQL QODBC…

【MySQL】 穿透学习数据库理论与知识剖析

前言&#xff1a;本节内容讲述一些数据库的基本概念。 第一个部分就是数据库相关的概念&#xff0c; 比如什么是数据库&#xff0c; 如何理解mysqld以及mysql。第二部分理解数据库和表在系统层面的形式。 第三部分就是mysql的一些操作分类。 第四部分就是数据库的插件配置这些。…

Web Broker(Web服务应用程序)入门教程(1)

1、介绍 Web Broker 组件&#xff08;位于工具面板的“Internet”选项卡中&#xff09;可以帮助您创建与特定统一资源标识符&#xff08;URI&#xff09;相关联的事件处理程序。当处理完成后&#xff0c;您可以通过编程方式构建 HTML 或 XML 文档&#xff0c;并将它们传输给客…

网络安全法详细介绍——爬虫教程

目录 [TOC](目录)一、网络安全法详细介绍1. 网络安全法的主要条款与作用2. 网络安全法与爬虫的关系3. 合法使用爬虫的指南 二、爬虫的详细教程1. 准备环境与安装工具2. 使用requests库发送请求3. 解析HTML内容4. 使用robots.txt规范爬虫行为5. 设置请求间隔6. 数据清洗与存储 三…

25国考照片处理器使用流程图解❗

1、打开“国家公务员局”网站&#xff0c;进入2025公务员专题&#xff0c;找到考生考务入口 2、点击下载地址 3、这几个下载链接都可以 4、下载压缩包 5、解压后先看“使用说明”&#xff0c;再找到“照片处理工具”双击。 6、双击后会进入这样的界面&#xff0c;点击&…

Go 语言之搭建通用 Web 项目开发脚手架

Go 语言之搭建通用 Web 项目开发脚手架 MVC 模式 MVC 模式代表 Model-View-Controller&#xff08;模型-视图-控制器&#xff09; 模式。这种模式用于应用程序的分层开发。 Model&#xff08;模型&#xff09; - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑&…

江协科技STM32学习- P34 I2C通信外设

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

windows在两台机器上测试 MySQL 集群实现实时备份

在两台机器上测试 MySQL 集群实现实时备份的基本步骤&#xff1a; 一、环境准备 机器配置 确保两台机器&#xff08;假设为服务器 A 和服务器 B&#xff09;能够互相通信&#xff0c;例如它们在同一个局域网内&#xff0c;并且开放了 MySQL 通信所需的端口&#xff08;默认是 …

【MIT-OS6.S081笔记1】xv6环境搭建

最近开始做一个操作系统的神课MIT-OS6.S081&#xff0c;我做的是老版本的2020版本的&#xff0c;环境使用的是VirtualBox的Ubuntu系统&#xff0c;在这里记录一下学习的过程。首先需要搭建一下环境&#xff0c;参考官网Tools Used in 6.S081&#xff0c;这个知乎文章也写得很好…

深度学习基础—语言模型和序列生成

引言 深度学习基础—循环神经网络&#xff08;RNN&#xff09;https://blog.csdn.net/sniper_fandc/article/details/143417972?fromshareblogdetail&sharetypeblogdetail&sharerId143417972&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 上…

kdd比赛方案

解决方案概述 采用两阶段的方法来解决比赛任务。在第一阶段&#xff0c;采用与 SciBERT 集成的跨编码器模型来确定源论文是否是最重要的参考文献之一。在第二阶段&#xff0c;利用了从目标和源论文中得出的特征&#xff0c;以及第一阶段的输出&#xff0c;输入到几个二进制分类…

抖音Ai图文故事号,AI一键生成故事图片变现,涨粉变现超快!

今天分享2个简单好上手&#xff0c;可批量复制&#xff0c;出单超快的Ai项目&#xff0c;那就是AI绘画壁纸号Ai图文故事号。 在抖音、小红书上&#xff0c;壁纸号火的一塌糊涂&#xff0c;新号3天涨粉1500&#xff0c;变现利润超过了4位数 壁纸看起来平平无奇&#xff0c;市场需…

面试题:JVM(三)

1. 面试题 说一说JVM的内存结构是什么样子的,每个区域放什么&#xff0c;各有什么特点&#xff1f;&#xff08;快手、搜狐&#xff09; JVM的内存结构&#xff0c;及各个结构的内容。&#xff08;vivo&#xff09; 详细介绍一下内存结构&#xff08;墨迹天气&#xff09; JVM…

ELK的ElasticStack语法

目录 传送门前言一、索引&#xff08;数据库&#xff09;1、创建索引2、获取索引3、删除索引 二、文档&#xff08;Row行&#xff09;1、创建文档2、获取文档3、修改文档4、删除文档5、高级查询&#xff08;精辟&#xff09;条件查询分页、指定、排序、范围查询全文检索、分组查…

leaflet绘制圆形方案

电子围栏绘制方案: 采用leaflet绘制电子围栏 可以看对应api文档 。原生是英文,所以要重定义,直接覆盖下面的 leaflet.draw-cn.js 文件L.drawLocal = {draw: {toolbar: {// #TODO: this should be reorganized where actions are nested in actions// ex: actions.undo or a…

新能源汽车空调压缩机:科技驱动的冷暖核心

一、新能源汽车空调系统概述 新能源汽车空调系统在车辆中起着至关重要的作用&#xff0c;它直接影响着驾乘人员的舒适度。新能源汽车空调系统主要由制冷系统、加热系统、送风系统、操纵控制系统和空气净化系统等组成。 制冷系统通常由电动压缩机、冷凝器、压力传感器、电子膨…

Javaweb梳理8——数据库设计

Javaweb梳理8——数据库设计 8 数据库设计8.1 数据库设计简介8.2 表关系(一对多)8.3 表关系&#xff08;多对多&#xff09;8.4 表关系&#xff08;一对一&#xff09; 8 数据库设计 8.1 数据库设计简介 软件的研发步骤 数据库设计概念 数据库设计就是根据业务系统的具体需…