网页布局元素填充思路 ———— 先布局,再局部

news2024/11/24 0:31:30

【引言】


今天来分享一下在JS练习项目中学习到的网页布局思路,适合刚接触JS的小白在做练习项目,不知所措的时候看喔~

简单来说就是 ———— 先布局,再局部。

在初次做练习项目的时候,大多都会先仿照一个网站先进行一个试练,当里面的网页、代码、图片,都多到不行。而网页的布局排版都是毫无逻辑可言的,那我们该如何开始入手这个项目呢?

【目录】


从简单的网页入手

        登录页

        注册页

        购物车页

        首页

        商品展示页

先布局

再局部

【正文】


从简单的网页入手

在一个网站中,会包含许多的网页,各个网页的结构简易程度都会参差不齐,如下图所示的网上书店的网站页面:

  • 登录页

  • 注册页

  • 购物车页

  • 首页

  • 商品展示页

 从上面的网页可以很明显的感受到,网页结构的难易程度在随着它们的显示顺序而上升。一般我们初次接触Web项目,在做网页的环节,大都会不加思考的从首页开始做起。但对于小白来说,面对如此结构复杂的一个网页,还没入手就能够感受到满满的精神压力了。

所以我们可以从最简单的网页做起,一是由简至难,比较好入手;二来可以增加我们继续学习的信心。那么有了目标,在一个网页里我们又该如何开始呢?

一个网页的完美体现,少不了元素标签,即html;和元素标签的样式控制,即css。此时,我们很容易认为要先做标签咯,没有标签,怎么做样式呢?其实不对的。

先布局

因为元素标签都是放在div盒子中的,这样我们才能很好的控制各个标签元素的位置,才能对网页做出漂亮整齐的排版,从而给浏览者带来良好的观感。

下面我们以上面最简单的登录页为例:

观察这个页面我们可以看到它有头部导航栏,中间部分的主体内容,和下部的导航栏及版权信息等,大体分为三部分。这个时候我们就可以先放三个div盒子,当然头部可以用header标签,脚部可以用footer标签。这些标签本身也相当于一个div盒子,只是作为一个标识,让我们看到这个标签就知道是头部和尾部。

如下所示:

<body>
  <!-- 头部导航栏 -->
  <header id="header_sml">
    
  </header>

  <!-- 主体部分 -->
  <div id="main">
    
  </div>

  <!-- 页脚部分 -->
  <footer id="footer">
    
  </footer>
  <!-- 引入外部js文件(为后期引入外部js特效文件预留位置) -->

</body>

定义出盒子标签之后,需要给它定义出id以区分不同页面的共用部分,比如,上面示例的登录和注册页面的头部是一样的,其他三个页面的头部是一样的,而所有页面的页脚部分都是一样的,所以要通过id名称进行区分。一个页面中的所有id都不能重名,但不同页面可以用同一个id名,所以针对于不同页面同样的元素,定义id名称和id选择器来控制元素样式;同页面同样的元素,定义class名称和class选择器来控制元素样式。

定好了大的模块,我们来把它们的边框调试出来,因为只有每个盒子的范围显示出来,我们才能够精准的调试各元素标签的位置,而边框需要通过css样式来控制,下面就附上三个模块初步的布局样式代码:

/* 布局 & 元素样式 */
*{
    /* 去掉网页默认的边距 */
    margin: 0;
    padding: 0;
}
/* 头部样式开始 */
/* 头部导航栏整体布局 */
#header_sml{
    border: black solid 1px;
    /* 导航栏水平居中:两个auto */
    margin: 40px auto 0 auto;
    width:840px;
    height: 80px;
    clear:both;
}
/* 头部样式结束 */

/* 主体样式开始 */
/* 主体整体布局 */
#main{
    border: solid 1px black;
    width: 800px;
    height: 400px;
    margin: 25px auto ;
}
/* 主体样式结束 */

/* 页脚样式开始 */
/* 页脚整体布局 */
#footer{
    border: solid 1px black;
    width: 100%;
    height: 88px;
}
/* 页脚样式结束 */

效果(网页运行显示全黑边框,截图粘贴后出现灰边):

定好了三个主要模块,我们需要进行每个模块内部的布局,首先来看头部。

头部的模块有左右两块儿的元素,所以我们需要在头部的盒子中再嵌套两个div盒子 ,代码如下:

<!-- 头部导航栏 -->
<header id="header_sml">
  <!-- 左侧logo -->
  <div id="header_sml_left">

  </div>
  <!-- 右侧导航栏 -->
  <div id="header_sml_right">

  </div>
</header>

再加上css样式的代码控制,头部的整体布局就是如下所示的效果:

 像这样的步骤接着来进行主体和页脚的部分就好啦!所有的布局样式代码放在下面,需要可以自取喔~布局模板一样的都可以拿去使用,根据需要更改id(或不改)后,直接填充元素标签即可。

元素标签代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>XXXXX页面</title>
  <!-- 引入外部样式文件 -->
  <link href="../css/xxx.css" rel="stylesheet">
</head>
<body>
<!-- 头部导航栏 -->
<header id="header_sml">
  <!-- logo -->
  <div id="header_sml_left">

  </div>
  <!-- 右侧导航栏 -->
  <div id="header_sml_right">

  </div>
</header>

<!-- 主体部分 -->
<div id="main">
  <!-- 左侧宣传图片 -->
  <div id="login_main_left">

  </div>
  <!-- 右侧登录表单部分 -->
  <div id="login_main_right">

  </div>
</div>

<!-- 页脚部分 -->
<footer id="footer">
  <!-- 导航链接部分 -->
  <div id="footer_top">

  </div>
  <!-- 版权信息部分 -->
  <div id="footer_end">

  </div>
</footer>
<!-- 引入外部js文件 -->
</body>
</html>

整体布局效果(网页运行显示全黑边框,截图粘贴后出现灰边):

再局部

这里说的是,布局完成后,我们就可以局部的去填充每一个模块的元素标签了,并通过在css文件中调试样式来控制细节问题(如:边距)。

到这里是不是有点思路了,在做项目之前还是先学会布局吧!


【声明】        

       本人纯小白,此文旨在分享做网页元素布局填充的一种思路,如有不对欢迎指正,以免误导。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

商城后台系统的多规格

需要添加多规格,并且还要根据算法生成对应的规格列表 1、获取此规格值数据类型 specsList:[{title: "颜色",specsTag:[蓝色,绿色],},{title: "尺码",specsTag:[165*130,L,XL], }] 2、处理数据 let skuList = []for(const { specsTag } of this.specsLi…

StableDiffusion 换脸实现

先看效果&#xff1a; 想要换的脸&#xff1a; 想要把脸放到的目标图片&#xff1a; 实现方案&#xff1a; StableDiffusionroop&#xff08;本次实验基于roopV0.02版本&#xff09; 1/安装SD&#xff0c;模型选择 DreamShaper,Sampler使用 Euler a 2/安装roop插件 roop插…

adnroid 11. 0 Activity启动流程图解

从Launcher到ActivityTaskManager 从ActivityTaskManagerService 到 ApplicationThread 从ApplicationThread到onCreate

CSS实现文字渐变色

css样式 style"background: linear-gradient(to right, red, #FFA387);-webkit-background-clip: text;color: transparent;"效果

结构型设计模式-1.代理设计模式

结构型设计模式-1.代理设计模式 结构型设计模式&#xff1a;利用类与类之间的关系&#xff08;继承、组合&#xff09;&#xff0c;形成一种类与类之间的结构&#xff0c;通过这种结构提高代码的可拓展性、可维护性和可重用性。 一、简介 代理设计模式&#xff08;Proxy Des…

从零开始制作婚礼策划展示小程序

随着移动互联网的发展&#xff0c;小程序已经成为各行各业展示和推广自己的重要工具之一。对于婚礼策划行业来说&#xff0c;制作一个专属的婚礼策划展示小程序&#xff0c;不仅能提升服务的专业性和便利性&#xff0c;还能吸引更多的客户。下面将介绍从零开始制作婚礼策划展示…

【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)

深入探索和分析MySQL数据库的全方位的优化实战开发指南&#xff08;数据库底层优化篇&#xff09; 硬件层面优化数据库物理机分析底层技术优化磁盘性能优化随机IO能力的能力支持 RAID磁盘阵列RAID10RAID10的优势 网卡优化网络设备坑点问题建议 服务器硬件配置调整服务器BIOS调整…

Layout软件中的焊盘的一般命名方法是什么呢?

答&#xff1a;对于不同的焊盘有不同命名方法&#xff0c;这里给大家介绍一下普遍的命名方法&#xff0c;具体如下所示&#xff1a; 贴片类焊盘命名方式&#xff1a; 1&#xff09;圆焊盘circle &#xff1a;SC 直径&#xff0c;如&#xff1a; SC1R00&#xff0c;即直径为1m…

多种语言示例采集数据【淘宝天猫1688拼多多API系列】可高并发线程

长话短说&#xff0c;节约彼此宝贵时间&#xff0c;我们以淘宝商品详情数据为例&#xff1a; 请求方式&#xff1a;HTTPS POST GET 请求地址&#xff1a;https://o0b.cn/anzexi taobao.item_get 公共参数 名称类型必须描述技术交流18179014480keyString是调用key&#xf…

探寻智能化未来:AI与Web3共创金融领域巨大潜力

人工智能&#xff08;AI&#xff09;和Web3技术的迅猛发展为我们带来了许多新的机遇和影响。在数字经济和社会的浪潮中&#xff0c;结合了AI的智能化能力和Web3的去中心化与区块链技术&#xff0c;我们将进入一个智能化的Web3时代。人工智能和Web3技术是开拓生产力极限和重新定…

Docker 数据管理

Docker 数据管理 一、docker数据管理 1.数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立刻可见&#xff0c;并且更新数据不会影响镜像&#xff0c;从而实现数据在宿主机与容器之间的迁移。…

QT构建套件(Kit)黄色感叹号问题解决

构建套件&#xff08;Kit&#xff09;黄色感叹号问题 1:看下面的图出现了黄色警告&#xff0c;此时这个构建套件 就是不允许使用的 2&#xff1a;查看一下MSVC的dedbug调试器(cdb.exe) 如果没有&#xff0c;我们需要下载cdb.exe cdb.exe下载方法 2.1首先我们可以打开我们系…

【Linux】- 进程管理

进程管理 1.1 基本介绍1.2 显示系统执行的进程1.3 服务(service)管理2.1 chkconfig 指令2.2 动态监控进程2.3 监控网络状态 1.1 基本介绍 在 LINUX 中&#xff0c;每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。>windows > linux每个进程都可…

哪种电容笔比较好用?一般电容笔和Apple pencil区别

和苹果的Pencil不同的是&#xff0c;一般的电容笔并没有具备重力压感&#xff0c;只有一种倾斜的压感。如果你是一个不常用于绘画的用户&#xff0c;那么可以使用一支价格相对实惠的平替电容笔。这款电容笔&#xff0c;既能用在办公中&#xff0c;又能用来做笔记&#xff0c;还…

勘探开发人工智能技术:地震层位解释

1 地震层位解释 层位解释是地震构造解释的重要内容&#xff0c;是根据目标层位的地震反射特征如振幅、相位、形态、连续性、特征组合等信息在地震数据体上进行追踪解释获得地震层位数据的方法。 1.1 地震信号、层位与断层 图1.1 所示为地震信号采集的过程&#xff0c;地面炮…

spring复习:(54)注解配置和xml配置时在bean实例化时的区别

一、使用配置文件定义bean时&#xff0c;会调用无参的构造方法&#xff1a; 而使用ConfigurationBean注解时&#xff0c;在bean定义解析时设置了 factoryBeanName和factoryMethodName 实例化bean时会走如下逻辑&#xff1a; instantiateUsingFactoryMethod方法代码如下&…

怎么学习JavaWeb开发? - 易智编译EaseEditing

学习JavaWeb开发可以按照以下步骤进行&#xff1a; 掌握Java基础&#xff1a; 在学习JavaWeb开发之前&#xff0c;确保你对Java编程语言有一定的掌握&#xff0c;包括面向对象编程、基本语法、数据类型、流程控制等。 学习HTML、CSS和JavaScript&#xff1a; JavaWeb开发主要…

Thanos工作原理及组件简介

Thanos 简介 Thanos 是一个「开源的&#xff0c;高可用的 Prometheus 系统&#xff0c;具有长期存储能力」。很多知名公司都在使用 Thanos&#xff0c;也是 CNCF 孵化项目的一部分。 Thanos 的一个主要特点就是通过使用对象存储&#xff08;比如 S3&#xff09;可以允许 “无…

苹果safari浏览器播放不了video标签视频

今天遇到了个神奇的问题&#xff0c;视频文件在pc端和安卓手机上播放都没问题&#xff0c;但是在ios上就是播放不了&#xff0c;大概代码如下&#xff1a; 前端代码&#xff1a; <video id"video" width"350" height"500" controls><s…

PMP和软考应该考哪个?

1、信息系统项目管理师和PMP都是国家或国际级别的考试&#xff0c;证书具有通用性。但从考试难度上来说&#xff0c;PMP相对更容易&#xff0c;因为只有一场考试&#xff0c;且题型相对单一。而信息系统项目管理师则需要通过三科考试&#xff0c;包括综合知识、案例分析、论文等…