当前位置: 首页 > news >正文

CSS基础—网页布局(重点!)

1、两列布局

(1)概念

                经典两列布局是指一种网页布局方式,其中一列宽度固定另一列宽度自适应。‌ 这种布局方式在网页设计中非常常见,因为它能够提供良好的视觉效果和用户体验。

如图所示:

                页面顶部放置一个大的导航或广告条,左边是主页示意栏,右边则是具体内容或文章,下面还有点赞栏

                此类网页布局的两列都有固定的宽度,而且从内容上很容易区分主要内容区域和侧边栏。页面布局整体分为上、中、下3个部分,即header区域container区域footer区域。其中,container又包含mainBox(主要内容区域)sideBox(侧边栏)

        示意图如下:

图源网络

 (2)实现方法

                利用我们之前学习的CSS盒子模型的浮动属性(float) ,将元素向左或向右浮动,另一个元素则自动环绕在其周围,从而实现两列布局

eg:

 运行代码:

<head><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;left:1100px;top:500px;}article{width: 70%;height: 500px;background-color: aqua;border: 2px black solid;float: left;}aside{width: 25%;height: 500px;background-color: paleturquoise;border: 2px black solid;float: left;margin-left: 2%;}footer{width: 100%;height: 10%;background-color: blue;border: 2px black solid;}</style>
</head>  
<body>  <header>  <h1 align="center">栗子七的网页</h1>  <p align="center">欢迎观看</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="C:\Users\栗子\Desktop\web前端开发技术\xg.png" alt="文章配图"                 width="200" height="200">  <p>小狗祝福大家<a href="#">点击这里有惊喜</a></p>  </article>  <aside>  <h3>侧边栏</h3>  <p>侧边栏内容,如快速链接、广告等。</p>  <table border="1">  <tr>  <th>爱好</th>  <th>特长</th>  </tr>  <tr>  <td>看小说</td>  <td><a href="C:\Users\栗子\Desktop\web前端开发技术\html\总结小练    习.html">详情</a></td>  </tr>  <tr>  <td>追剧</td>  <td><a href="C:\Users\栗子\Desktop\web前端开发技术\html\总结小练 习.html">详情</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; 栗子七</p>  </footer>  
</body>  

仅供大家参考

2、三列布局 

                经典三列布局是指一种页面布局方式,其中包含三列左右两列宽度固定中间一列宽度自适应。‌ 这种布局方式在许多网站的首页中广泛应用。 

 实例:

                对于三列布局,浏览者的注意力最容易集中在中间栏的信息区域,其次才是左、右两侧的信息 

三列布局示意图:

图源网络

eg:

运行代码:

<head> <style>nav ul{height:30px; background-color: #D1C5C6;}nav ul li{margin-right: 20px;float:left;}#contact{width: 220px;height: 160px;background-color: rgb(240, 209, 215);border: 2px black solid;position: fixed;left:1100px;top:500px;text-align:center}section{width:1500px;}article{width: 450px;height: 520px;background-color:pink;float: left;text-align:center}#d1{width: 600px;height: 520px;background-color:palevioletred;float: left;text-align:center}aside{width: 450px;height: 520px;background-color:pink;float:right;text-align:center}footer{width: 100%;height:30px; background-color:plum;text-align:center}</style>
</head>
<body>   <header >  <h1 align="center">栗子七的网页</h1>  <p align="center">欢迎观看</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>  <main>  <section>  <article >  <h3>文章标题</h3>  <p>这里是文章的内容简介。<br>可以使用<br>标签进行换行。</p>  <!-- <br><br><br> --></article>  <nav id="d1"><img src="C:\Users\栗子\Desktop\web前端开发技术\xg.png" alt="文章配图" width="200" height="200">  <p><a href="https://gdyfvccm.edu.cn/">点击这里有惊喜</a></p>  </nav><aside>  <h3 >侧边栏</h3>  <p >侧边栏内容,如快速链接、广告等。</p>  <table border="1" id="h1">  <tr>  <th>爱好</th>  <th>特长</th>  </tr>  <tr>  <td>看小说</td>  <td><a href="#">详情</a></td>  </tr>  <tr>  <td>追剧</td>  <td><a href="#">详情</a></td>  </tr>  </table>  </aside>  </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>  <hr>  <div style="clear: both;"></div>
</main>  <footer>  版权所有 &copy; 栗子七</footer>  
</body>  

 大家可以运行感受一下

3、 多行多列布局

                多行多列布局是一种网页布局方式,可以将内容分为多个列进行展示,在水平方向上进行排列。‌ 这种布局方式允许内容在不同的列中展示,使得页面看起来更加丰富和有层次感。多行多列布局在各大电商网站和素材网站中非常常见

实例:

 

eg: 

运行代码:

<head><style>.container{width: 50%;background-color: #97d3eb;border: 1px black solid;}.container ul{margin: 0;padding: 0;}.container ul li{list-style: none;width: 20%;height: 150px;background-color: pink;border: 2px palevioletred solid;margin-right: 2%;margin-bottom: 2%;float: left;}</style>
</head>
<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><div style="clear: both;"></div></section>
</body>

几列布局都相似的,大家可以动手试试多加几列的效果

4、百分比布局

(1)概念 

        上面的网页各个板块都是精准地定位,会让编写者十分头疼具体位置到底是多少,需一个个尝试才能达到我们想要的效果,为了使这种问题解决,我们可以使用百分比布局

                在网页设计中,百分比布局是一种非常灵活的布局方式。它可以让网页元素根据浏览器窗口的大小自动调整尺寸,从而适应不同的屏幕尺寸和设备 

(2)优势 

  • 响应式设计

                        百分比布局能够使网页在不同尺寸的屏幕上都能良好地显示,无需为每个设备单独设计布局。

  •  灵活性

                可以轻松地调整元素的大小和位置,以适应不同的布局需求。

  • 易于维护

                当需要修改网页布局时,只需要调整百分比值,而不需要修改每个元素的固定尺寸。

 (3)语法格式

<style>

        section{

                width: 100%;

                        }

</style>

 学会这个内容加上之前学习的内容,大家可以做出自己喜欢的网页了!

 

相关文章:

CSS基础—网页布局(重点!)

1、两列布局 &#xff08;1&#xff09;概念 经典两列布局是指一种网页布局方式&#xff0c;其中一列宽度固定&#xff0c;另一列宽度自适应。‌ 这种布局方式在网页设计中非常常见&#xff0c;因为它能够提供良好的视觉效果和用户体验。 如图所示&#xff1a; 页面顶部放置一…...

【Fargo】17:vs工程转qt构建:QT6 不支持32bit转向qt5.15.2

vs2022的console 工程加入qt支持后使用qt15.2 的vs2019 库,变为一个qt界面程序。最终效果 一些参考 qt5的项目搭建 qt5 最多支持到vs2019 qt6 最新 已经支持vs2022 国内还是以qt5.15为主 升级qt的vstools...

​智能电表蓝牙芯片方案

RAMSUN基于自研射频技术和基带算法提供蓝牙MCU。蓝牙MCU配套成熟的网络协议栈和丰富的示例代码及多平台APP工具。部分芯片型号无需二次开发&#xff0c;即连即用&#xff1b;提供特色蓝牙/串口/USB三通芯片&#xff0c;为更多复杂无线应用赋能。 应用案例说明: BLE方便用户直接…...

miRNA分析流程学习(一)/TCGAmiRNA数据下载

miRNA&#xff08;microRNA&#xff09; 是一种小的非编码 RNA 分子&#xff0c;通常由 20 到 24 个核苷酸组成。miRNA 主要存在于动植物中&#xff0c;并在基因表达调控中起到关键作用。它们通过与特定的信使 RNA&#xff08;mRNA&#xff09;分子结合来抑制基因表达&#xff…...

西南大学软件专硕考研难度分析!

C哥专业提供——计软考研院校选择分析专业课备考指南规划 西南大学软件工程学硕近三年呈现出招生规模稳定、复试线稳中有升的特点。2024届实际录取8人&#xff0c;复试分数线305分&#xff0c;复试录取率67%&#xff0c;相比去年复试线略有下降但仍高于2022届&#xff0c;显示出…...

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-21

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-21 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-21目录1. The Fair Language Model Paradox摘要研究背景问题与挑战如何解决创新点算法模型实验效果重要数据与结论推荐阅读指数&…...

安全芯片 OPTIGA TRUST M 使用介绍与示例(基于STM32裸机)

文章目录 目的资料索引硬件电路软件框架介绍数据存储框架移植框架使用 使用示例示例地址与硬件连接通讯测试功能测试 总结 目的 OPTIGA TRUST M 是英飞凌推出的安全芯片&#xff0c;芯片通提供了很多 slot &#xff0c;用于存放各类安全证书、密钥、用户数据等&#xff0c;内置…...

【AI换装整合及教程】CatVTON:时尚与科技的完美融合

在当今数字化时代&#xff0c;时尚行业正经历着一场前所未有的变革&#xff0c;而 CatVTON 作为一款由中山大学、Pixocial 等机构联合研发的轻量化 AI 虚拟换装工具&#xff0c;无疑是这场变革中的璀璨明星。 一、独特的技术架构 CatVTON 基于 Stable Diffusion v1.5 inpainit…...

接口测试(七)jmeter——参数化(RandomString函数)

一、RandomString函数 需求&#xff1a;模拟10个用户注册 1. 【工具】–>【函数助手对话框】 2. 选择RandomString函数 假设手机号码前3位设置为固定数值136&#xff0c;后8位可用RandomString函数随机产生数值 ① Random string length&#xff1a;8&#xff08;随机长度…...

simple_php

访问靶场 这里传入a和b参数&#xff0c;绕过三个if即可拿到flag a a a_GET[ a’ ];中是抑制报错信息的。 第一个if非常的抽象&#xff0c; if($a0 and $a){echo $flag1; }处理a 要输出flag1,a0&#xff0c;但是&#xff0c;在php中0被视为假也就是Flase 如果a0&#xff0…...

网络搜索引擎Shodan(4)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 声明&#xff1a;本文主要用作技术分享&#xff0c;所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险&#xff0c;并遵循相关法律法规。 感谢泷…...

【Flask】一、安装与第一个测试程序

目录 Flask简介 安装Flask 安装pip&#xff08;Python包管理器&#xff09; 使用pip安装Flask 验证安装 创建Flask程序 创建应用 运行 访问测试 Flask简介 Flask是一个用Python编写的轻量级Web应用框架。它被设计为易于使用和扩展&#xff0c;使其成为构建简单网站或复…...

R语言笔记(二):向量

文章目录 一、Data structure: vectors二、Indexing vectors三、Re-assign values to vector elements四、Generic function for vectors五、Vector of random samples from a distribution六、Vector arithmetic七、Recycling八、Element-wise comparisons of vectors九、Comp…...

信息安全工程师(71)隐私保护技术与应用

前言 隐私保护技术是指通过一系列的技术手段来保护人们的隐私不被公开泄露。随着数字化和网络化社会的发展&#xff0c;个人隐私的保护变得尤为重要&#xff0c;隐私保护技术也因此得到了广泛的应用和发展。 一、隐私保护技术概述 隐私保护技术主要包括数据加密技术、身份认证技…...

层和块学习

1.生成一个网络&#xff0c;其中包含一个具有256个单元和ReLU激活函数的全连接隐藏层&#xff0c;然后是一个具有10个隐藏单元且不带激活函数的全连接输出层。 import torch from torch import nn from torch.nn import functional as Fnet nn.Sequential(nn.Linear(20, 256)…...

Zookeeper面试整理-源码及实现细节

Zookeeper 的源码和实现细节是理解其高可用性、分布式一致性和高效性的关键。以下是 Zookeeper 的核心实现细节,涵盖其架构、关键模块、以及具体的代码实现机制。 1. Zookeeper 架构 Zookeeper 采用 Leader-Follower 架构,集群由多个节点组成。主要分为三种角色:Leader、Fol…...

岭回归的MATLAB步骤

MATLAB 实现框架&#xff0c;它涵盖了从数据导入到岭回归的步骤&#xff0c;包括计算共线性、使用 MAE、MSE、R、MAPE 进行评价&#xff0c;以及绘制相应的可视化图表。 1. 数据导入 首先&#xff0c;导入你的 Excel 文件 data.xlsx。假设前面的列是因变量&#xff08;特征&a…...

智能指针(unique_ptr,shared_ptr,weak_ptr)

在实际的C开发中&#xff0c;我们经常会遇到诸如程序运行中突然崩溃&#xff0c;程序运行所用内存越来越多最终不得不重启等问题&#xff0c;这些问题往往都是内存资源管理不当造成的(内存泄漏) 比如&#xff1a; 有些内存资源已经被释放&#xff0c;但指向它的指针并没有改变指…...

Sql执行较慢的排查方式

SQL执行较慢的排查方式涉及多个方面&#xff0c;包括检查SQL语句本身、数据库配置、硬件资源等。以下是一些具体的排查步骤和优化建议&#xff1a; 一、检查SQL语句 启用慢查询日志&#xff1a; 大多数数据库管理系统&#xff08;如MySQL、PostgreSQL&#xff09;都支持慢查询…...

CesiumJS 案例 P6:添加图片图层、添加图片图层并覆盖指定区域

CesiumJS CesiumJS API&#xff1a;https://cesium.com/learn/cesiumjs/ref-doc/index.html CesiumJS 是一个开源的 JavaScript 库&#xff0c;它用于在网页中创建和控制 3D 地球仪&#xff08;地图&#xff09; 一、添加图片图层 <!DOCTYPE html> <html lang"…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...