精通CSS布局:探索经典的网页布局样式和技术

一、经典两列布局样式

1.概念

许多网站有一些特点,如页面顶部放置一个大的导航或广告条,右侧是链接或图片,左侧放置主要内容,页面底部放置版权信息等。

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

2.实现原理

利用 CSS 的浮动属性float(可点击了解更多),将其中一个元素向左浮动,另一个元素向右浮从而实现两列布局。

运行代码如下:

    <style>
        nav ul{
            height:30px;  /*给父盒设置高度,避免高度塌陷影响其他兄弟盒*/
            background-color: aquamarine;
        }
        nav ul li{
            margin-right: 20px;
            float:left;
        }

        #section1{
            width: 250px;
            height: 150px;
            background-color: pink;
            border: 2px black solid;
            position: fixed;
            right: 400px;
            bottom: 100px;
        }

        section{
            background-color: aqua;
            border: 5px black solid;
        }

        article{
            width: 70%;
            height: 800px;
            background-color: skyblue;
            border: 5px black solid;
            float: left;
        }

        aside{
            width: 25%;
            height: 800px;
            background-color: turquoise;
            border: 5px black solid;
            float: left;
            margin-left: 2%;
        }

        footer{
            width: 100%;
            height: 10%;
            background-color:tomato;
            text-align: center;
        }

    </style>
</head>  

<body>  
  
    <header>  
        <h1 align="center">经典两列布局</h1>  
        <p align="center">欢迎来到: <ins>EX_C 博客</ins></p>  
        <hr> 
        <nav>  
            <ul type="none">  
                <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="./演示图.jpg" alt="文章配图" width="200" height="200">  
                <p>想了解更多布局知识:<a href="https://blog.csdn.net/2401_84309743?type=blog">点击这里</a></p>  
            </article>  

            <aside>  
                <h3>侧边栏</h3>  
                <p>侧边栏内容,如快速链接、广告等。</p>  
            </aside>  
        </section>  
    
        <section id="section1">  
            <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>  
    <div style="clear:both;"></div> 
    <footer>  
        版权所有 &copy; 2024 EX-C
    </footer>  
  
</body>  
</html>

运行结果如下:

二、经典三列布局样式

1.概念

对于三列布局,网页设计较为常见,浏览者的注意力最容易集中在中间栏的信息区域,其次才是左、右两侧的信息。

三列布局与两列布局非常相似,在处理方式上可以利用两列布局结构的方式处理,如下图所示的就可以是3个独立的列组合而成的三列布局。三列布局是基于两列布局结构演变出来的。

2.实现原理

(1)第一种方法

利用 CSS 的浮动属性float(可点击了解更多),三个元素将其中一个元素向左浮动,另一个元素向右浮,第三个元素左右两边添加外边距(可点击了解更多)使其在在中间,实现三列布局。

运行代码如下:

    <style>
        nav ul{
            height:30px;  /*给父盒设置高度,避免高度塌陷影响其他兄弟盒*/
            background-color: aquamarine;
        }

        nav ul li{
            margin-right: 20px;
            float:left;
        }

        #div1{
            width: 15%;
            height: 800px;
            background-color: springgreen;
            float: left;
        }

        #div2{
            width: 15%;
            height: 800px;
            background-color: cornflowerblue;
            float: right;
        }

        #div3{
            width: 60%;
            height: 800px;
            background-color: aqua;
            margin-left: 20%;
            margin-right: 20%;
        }

        footer{
            width: 100%;
            height: 30px;
            background-color: orange;
            border: 2px black solid;
            text-align: center;
        }
    </style>
<body>

    <header>  
        <h1 align="center">经典三列布局:第一种</h1>  
        <p align="center">欢迎来到: <ins>EX_C 博客</ins></p>  
        <hr> 
        <nav>  
            <ul type="none">  
                <li><a href="#">首页</a></li>  
                <li><a href="#">关于我的</a></li>  
                <li><a href="#">联系方式</a></li>  
            </ul>  
        </nav>  
    </header>  

    <section>
        <div id="div1">左</div>
        <div id="div2">右</div>
        <div id="div3">中间</div>
    </section>

    <div style="clear:both;"></div> 
    <footer>  
        版权所有 &copy; 2024 EX-C
    </footer>  
</body>
</html>

运行结果如下:

(2)第二种方法

将三个元素分别向左浮动,通过设置合适的宽度和外边距,使它们在同一行上排列,实现三列布局。

运行代码如下:

    <style>
        nav ul{
            height:30px;  /*给父盒设置高度,避免高度塌陷影响其他兄弟盒*/
            background-color: aquamarine;
        }
        nav ul li{
            margin-right: 20px;
            float:left;
        }
        #div1{
            width: 20%;
            height: 800px;
            background-color: turquoise;
            float: left;
        }

        #div2{
            width: 60%;
            height: 800px;
            background-color: steelblue;
            float: left;
        }

        #div3{
            width: 20%;
            height: 800px;
            background-color: springgreen;
            float: left;
        }

        footer{
            width: 100%;
            height: 30px;
            background-color: tomato;
            text-align: center;
        }
    </style>
</head>

<body>
    <header>  
        <h1 align="center">经典三列布局:第二种</h1>  
        <p align="center">欢迎来到: <ins>EX_C 博客</ins></p>  
        <hr> 
        <nav>  
            <ul type="none">  
                <li><a href="#">首页</a></li>  
                <li><a href="#">关于我的</a></li>  
                <li><a href="#">联系方式</a></li>  
            </ul>  
        </nav>  
    </header> 

    <section>
        <div id="div1">左边区域</div>
        <div id="div2">中间区域</div>
        <div id="div3">右边区域</div>
    </section>

    <div style="clear:both;"></div>
    <footer>  
        版权所有 &copy; 2024 EX-C
    </footer>  
</body>
</html>

运行结果如下:

三、经典多行多列样式

1.概念

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

2.实现原理

将各个元素都浮起来,并适当加入外边距分隔开。

运行代码如下:


    <style>
        div{
            width: 20%;
            height: 200px;
            background-color:aqua;
            border: 2px black solid;
            float: left;
            margin-left: 2%;
            margin-bottom: 2%;
        }

        section{
            width: 50%;
            height: 500px;
            border: 4px black solid;
            background-color:steelblue; 
        }
    </style>
<body>
    <section>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </section>

</body>
</html>

运行结果如下:

四、百分比布局

1.概念

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

2.优势

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

7.hyperf安装【Docker】

- 前言&#xff1a;为了与容器中的mysql通信&#xff0c;先运行mysql&#xff0c;再使用 --link关联 一、 拉取 php版本为8.2的版本 8.3的版本&#xff0c;启动框架时&#xff0c;报错。 docker pull hyperf/hyperf:8.2-alpine-vedge-swoole-slim二、 运行hyperf环境容器 --l…

分布式理论基础

文章目录 1、理论基础2、CAP定理1_一致性2_可用性3_分区容错性4_总结 3、BASE理论1_Basically Available&#xff08;基本可用&#xff09;2_Soft State&#xff08;软状态&#xff09;3_Eventually Consistent&#xff08;最终一致性&#xff09;4_总结 1、理论基础 在计算机…

解决k8s集群中安装ks3.4.1开启日志失败问题

问题 安装kubesphere v3.4.1时&#xff0c;开启了日志功能&#xff0c;部署时有三个pod报错了 Failed to pull image “busybox:latest”: rpc error: code Unknown desc failed to pull and unpack image “docker.io/library/busybox:latest”: failed to copy: httpRead…

Java项目-基于springboot框架的学习选课系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

【Petri网导论学习笔记】Petri网导论入门学习(八) —— 1.6 系统的Petri网模型

导航 1.6 系统的Petri网模型例 1.6 化学反应例 1.7 进程的通信协议例 1.8 P/V操作例 1.9 临界段互斥问题例 1.10 生产者/消费者问题例 1.11 哲学家就餐问题 1.6 系统的Petri网模型 理论的目的在于应用&#xff0c;接下来是一些关于用Petri网标识离散事件系统的例子 这里就直接…

C++ 游戏开发:从基础到进阶

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【鸡翅Club】项目启动

一、项目背景 这是一个 C端的社区项目&#xff0c;有博客、交流&#xff0c;面试学习&#xff0c;练题等模块。 项目的背景主要是我们想要通过面试题的分类&#xff0c;难度&#xff0c;打标&#xff0c;来评估员工的技术能力。同时在我们公司招聘季的时候&#xff0c;极大的…

平衡相图在矿物加工中的广泛应用,含材料设计、性能预测等

平衡相图是描述在特定温度和压力下&#xff0c;不同相&#xff08;如固体、液体、气体等&#xff09;之间平衡关系的图表。在矿物加工领域&#xff0c;通过分析相图可以详细了解不同成分的矿物在特定温度和压力条件下的相变行为&#xff0c;从而设计出更高效的提取和分离方法&a…

EasyExcel自定义下拉注解的三种实现方式

文章目录 一、简介二、关键组件1、ExcelSelected注解2、ExcelDynamicSelect接口&#xff08;仅用于方式二&#xff09;3、ExcelSelectedResolve类4、SelectedSheetWriteHandler类 三、实际应用总结 一、简介 在使用EasyExcel设置下拉数据时&#xff0c;每次都要创建一个SheetWr…

文件误删并清空回收站:全面解析与高效恢复策略

一、文件误删并清空回收站的遭遇 在日常使用电脑或移动设备的过程中&#xff0c;我们难免会遇到一些令人懊恼的数据丢失问题&#xff0c;其中文件误删并清空回收站便是最为常见的一种。当你不小心删除了某个重要文件&#xff0c;并且随后又毫不留情地清空了回收站&#xff0c;…

flutter camera 插件相机不占满屏幕的问题

当 CameraPreview 超出屏幕范围时&#xff0c;可以通过以下几种方法来处理超出部分被裁剪的问题&#xff1a; 使用 FittedBox&#xff1a;FittedBox 可以自动调整子组件的大小和比例&#xff0c;使其适应父容器。使用 BoxFit 属性&#xff1a;在 FittedBox 中使用不同的 BoxFi…

Rust初踩坑

一、下载 到官网https://www.rust-lang.org/zh-CN/tools/install下载你需要的版本 二、安装 执行rustup-init 文件&#xff0c;选择1 按提示直到安装完成 可以通过以下命令测试&#xff1a; rustc -V # 注意的大写的 V cargo -V # 注意的大写的 V三、在VScode中…

python + mitmproxy 爬手机app (1)

起因&#xff0c; 目的: 想爬手机上某鱼。 mitmproxy 简介: 一句话: mitmproxy 就是中间人攻击. (只不过&#xff0c; 你安装&#xff0c;就代表你愿意承担风险。)源码&#xff1a;https://github.com/mitmproxy/mitmproxy文档: https://mitmproxy.org/ 安装过程: 见聊天记…

【Vue】Vue3.0(十五)Vue 3.0 中 hooks 的概念

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Vue专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年10月22日21点50分 背景&#xff1a;在一些情况下&#xff0c;前台的组件是可以复用的&#xff0c;那这些复用的对象和数据&#xff0c;为…

cnn_lstm_kan模型创新实现股票预测

获取更多完整项目代码数据集&#xff0c;点此加入免费社区群 &#xff1a; 首页-置顶必看 1. 项目简介 A002-cnn_lstm_kan模型创新实现股票预测项目旨在通过结合卷积神经网络&#xff08;CNN&#xff09;、长短期记忆网络&#xff08;LSTM&#xff09;以及知识注意网络&#…

智和信通助力某大型服饰集团建设综合监控运维

某大型服饰集团成立于90年代&#xff0c;是广受认可的国民生活时尚品牌&#xff0c;近年来随着集团公司业务规模的不断扩大&#xff0c;信息化作为支撑集团公司业务发展的重要技术手段&#xff0c;信息系统无论在规模上还是在复杂程度上均有了很大程度的增加。 项目现状 当前信…

【嵌入式实时操作系统开发】智能家居入门4(FreeRTOS、MQTT服务器、MQTT协议、STM32、微信小程序)

前面已经发了智能家居入门的1、2、3了&#xff0c;在实际开发中一般都会使用到实时操作系统&#xff0c;这里就以FreeRTOS为例子&#xff0c;使用标准库。记录由裸机转到实时操作系统所遇到的问题以及总体流程。相较于裸机&#xff0c;系统实时性强了很多&#xff0c;小程序下发…

1 -《本地部署开源大模型》如何选择合适的硬件配置

如何选择合适的硬件配置 为了在本地有效部署和使用开源大模型&#xff0c;深入理解硬件与软件的需求至关重要。在硬件需求方面&#xff0c;关键是配置一台或多台高性能的个人计算机系统或租用配备了先进GPU的在线服务器&#xff0c;确保有足够的内存和存储空间来处理大数据和复…

Linux杀毒-KVRT

&#x1f680;目录 (一) 简介&#x1f680;(二) 下载地址&#x1f61f;方式一&#xff1a;访问官网下载方式二&#xff1a;wget下载 (三) 使用方式1.修改执行权限2.命令行下进行扫描动作全盘扫描扫描指定目录 可视化界面下进行扫描动作 &#xff08;四&#xff09;更多操作&…

使用Python抓取房源信息

1. 引言 在当今大数据时代&#xff0c;网络爬虫成为获取信息的重要手段之一。本文将以某家二手房为例&#xff0c;演示如何使用Python爬虫抓取房源信息&#xff0c;并将这些信息保存到Excel文件中。 目标网站 2. 准备工作 2.1 安装必要的库 在开始之前&#xff0c;请确保你…