网站入口页双栏对称布局实现思路

news/2024/5/6 7:21:07/文章来源:https://blog.csdn.net/weixin_34191845/article/details/89393885

先来一张预览图。

网站入口页预览图


接下来说一说这种页面布局的实现思路,因为自己是从零开始的,所以着实花了好几天功夫才实现了这么一个看起来很简单的布局,所有东西都要自己一点点摸索,不过这种经历对于自己的成长也是很有帮助的。好了,下面进入正题。


整体布局

在写这个页面的过程中,其实不管是 HTML 代码的结构,还是 CSS 的实现方式,思路一直都是在变化的,目前的布局如下:

HTML 代码结构

  • 顶部为导航栏 .header:包括左侧的logo,以及右侧的用户菜单;

  • 中间为左右对称的导航区 .entrance:左右两块采用不同的背景图(background-image),背景之上有链接,点击就会转向不同的页面;

  • 底部为包含版权信息的 .footer

CSS 样式设置

顶部 .header

  • 由于这一部分需要覆盖在导航区之上,所以通过 absolute 属性来令其脱离正常的文档流,放在页面顶部。

  • 同时为了实现覆盖的效果,就需要设置 z-index 属性,该属性值大于等于 1 时,即可堆叠在普通元素之上。

有一点需要注意的就是,只有设置过 position 属性的元素(relativeabsolutefixed),z-index 属性才能生效。而之前将中间区域的 z-index 值设置为 -1,后来发现链接无法点击,找了一圈才发现是这里出了问题,打牢基础至关重要啊。

  • 为了保证在不同尺寸的浏览器窗口中均能正常显示,就需要设置 min-widthwidth 属性。width 属性被设置为 100%,以占满浏览器宽度,而真正用于展示顶部导航栏内容的子元素 .header-containerwidth 属性则被设置为 80%,这是因为顶部导航栏的内容并不多,左右两侧留白,视觉效果较好。

中间 .entrance

  • 左右两部分区域对称显示是通过设置 position 属性实现的,所以父元素设置为 position: relative;,同时为了保证在不同尺寸的浏览器窗口中均能正常显示,宽度设置与顶部 .header 相同。

  • 左右两部分对称显示,width 属性均为 50%position 属性均为 absolutetop 属性均为 0left 属性则分别为 050%

  • 为了让背景正常显示,均设置 background-size: 100% 以及 background-repeat: no-repeat;,这样背景就能在水平方向上填满整个元素。

底部 .footer

  • 此部分的样式设置与顶部导航栏的类似,只是需要将版权信息相关的文字在水平和垂直两个方向上均居中对齐即可。版权文字为 .footer 内的 .copyright 之中的 <p> 标签,所以对 .footer 设置 flex 属性,以便让其中的 .copyright 在两个方向上均居中对齐。

display: flex;
justify-content: center;
align-items: center;

样式调整

根据窗口大小重设背景

为了保证用户调整浏览器窗口之后,背景图片能够适应新的窗口尺寸,所以用 JS 来设置包含背景图的元素的高度属性,代码如下。

<script type="text/javascript">$(window).resize(function() {var viewPortHeight = window.innerHeight - 90;$('.entrance > div').css("height", viewPortHeight + 'px');$('.entrance > div').css("line-height", viewPortHeight + 'px');$('.entrance > div').css("min-height", viewPortHeight + 'px');});
</script>

上面的代码中,viewPortHeight 之所以还要减去 90,是因为底部 .footer 高度为 90,如果不减去这个高度值,在底部 .footer 下方还会多出来一小块空白区域,所以就加了这么一句。


后记

目前做出来的页面依然有小 bug,不过入口页只是作为展示,现有的 bug 对页面功能影响很小,所以这个 bug 先放一边。毕竟需要做的事情还有很多,总要分一个轻重缓急,这也是工作中需要时常注意的一件事。

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

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

相关文章

使用php与mysql构建我们的网站

技术这个玩意就是要不断的去使用&#xff0c;才能够熟能生巧。今天我记录的使用php与mysql构建我们的网站&#xff0c;其实是我两年前的时候写的项目。 现在看看自己以前写的个人项目&#xff0c;也会感叹时间究竟带走了什么&#xff1f;好记性不如烂笔头&#xff0c;常写常练&…

自学python推荐书籍同时找哪些来实践-Python学习路上有这些论坛、网站、书籍与你同行...

Python学习路上有这些论坛、网站、书籍与你同行 2019-05-03 18:24:41 613点赞 9508收藏 164评论 创作立场声明&#xff1a;希望我的一些经验可以给你少走一些弯路&#xff0c;但人总得走点弯路才可以成长。别怕&#xff0c;在学习python的路上有我陪着你。人生苦短&#xff0c;…

学习编程可以参考哪些网站?

1、Free Online Course Materialshttps://ocw.mit.edu/index.htm免费的麻省理工学院课程&#xff0c;有各种视频讲座、笔记和资源。2、codecademyhttps://www.codecademy.com/catalog/subject/web-development非常有名的学习代码的网站&#xff0c;对于计算机科学家、web开发人…

怎么在python下载网站内容-分析某网站,并利用python自动登陆该网站,下载网站内容...

本帖最后由 愤怒的小车 于 2019-5-8 09:41 编辑 一&#xff1a;本代码是我研究了好久才写出来&#xff0c;七功能主要有自动登陆、自动识别验证码、以及自动识别下载格式进行判断下载&#xff01; 首先&#xff0c;搬上我们的主角网址&#xff0c;http://lavteam.org/&#xff…

大型网站应用中MySQL的架构演变史

没有什么东西是一成不变的&#xff0c;包含我们的理想和生活&#xff01;MySQL作为一个免费的开源的关系型数据库&#xff0c;深受大家喜爱&#xff0c;从最初的无人问津到当下的去IOE&#xff0c;都体现出了MySQL举足轻重的作用。今天我们就从淘宝的发展来阐述MySQL在大型网站…

python爬虫怎么爬同一个网站的多页数据-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...

原标题&#xff1a;不踩坑的Python爬虫&#xff1a;如何在一个月内学会爬取大规模数据Python爬虫为什么受欢迎 如果你仔细观察&#xff0c;就不难发现&#xff0c;懂爬虫、学习爬虫的人越来越多&#xff0c;一方面&#xff0c;互联网可以获取的数据越来越多&#xff0c;另一方面…

python、语言的主网站网址是-国产编程语言木兰被网友扒皮:原来是Python语言打包...

日前中科院计算所下属单位发布了编程语言木兰&#xff0c;号称计算所编译实验室完全自主设计、开发和实现的编程语言&#xff0c;与之配套的编译器与集成开发工具也完全由团队自主实现。不过该语言发布之后&#xff0c;网友发现它其实是Python语言打包的&#xff0c;很多函数都…

python写网站和java写网站的区别-为什么说Java和Python现阶段并不适合普通网站建设...

经过20多年的发展&#xff0c;网站开发技术已经非常成熟&#xff0c;用于网站制作的程序语言也有很多。常见的当然是php和asp.net&#xff0c;特别是php程序语言&#xff0c;虽然其已经有很多年历史也历经多次迭代升级&#xff0c;但在凭借其开源、轻巧等优势&#xff0c;在网站…

iOS如何在iTunes网站查看并下载APP的dsym文件

有时需要拿到app的dsym符号表文件&#xff0c;恰巧本地的构建版本文件已经不在了&#xff0c;那么我们还可以在iTunes那边获取到。 步骤不复杂&#xff1a; 1、登陆itunes网站 https://itunesconnect.apple.com/ 2、找到你的APP&#xff0c;点进去&#xff0c;选择【活动】->…

网站架构的演变

2019独角兽企业重金招聘Python工程师标准>>> 单一应用架构 当网站流量很小时&#xff0c;只需一个应用&#xff0c;将所有功能都部署在一起&#xff0c;以减少部署节点和成本。此时&#xff0c;用于简化增删改查工作量的数据访问框架(ORM)是关键。 垂直应用架构 当访…

前端开发需要掌握的SEO的知识点

SEO 工作的目的  seo 的工作目的是为了让网站更利于让各大搜索引擎抓取和收录&#xff0c;增加产品的曝光率。 SEO 注意事项  1. 网站 TDK 标签的设置。title,description,keywords&#xff0c;根据产品业务&#xff0c;概括出核心关键词作为TDK的内容&#xff0c;每个页面…

cache-control_网站 cache control 最佳实践

有时&#xff0c;当第二次访问网站时&#xff0c;看起来比较怪&#xff0c;样式不正常。通常&#xff0c;是因为 cache control 缓存控制策略定义不正确&#xff0c;导致服务端最新部署之后客户端没有接收到最新的更改。本文将向您展示正确的缓存设置&#xff0c;以便在每次部署…

spring配置文件_SpringBoot入门建站全系列(二十三)配置文件优先级及自定义配置文件...

SpringBoot入门建站全系列&#xff08;二十三&#xff09;配置文件优先级及自定义配置文件一、概述Spring Boot允许多种配置来源&#xff0c;官网是这样说的&#xff1a;Spring Boot使用一种非常特殊的PropertySource顺序&#xff0c;旨在允许合理地覆盖值。按以下顺序考虑属性…

如何用python创建一个下载网站-用Python下载一个网页保存为本地的HTML文件实例...

我们可以用Python来将一个网页保存为本地的HTML文件&#xff0c;这需要用到urllib库。 比如我们要下载山东大学新闻网的一个页面&#xff0c;该网页如下&#xff1a;实现代码如下&#xff1a; import urllib.request def getHtml(url): html urllib.request.urlopen(url).read…

如何用python创建一个下载网站-用Python下载一个网页保存为本地的HTML文件实例...

我们可以用Python来将一个网页保存为本地的HTML文件&#xff0c;这需要用到urllib库。 比如我们要下载山东大学新闻网的一个页面&#xff0c;该网页如下&#xff1a;实现代码如下&#xff1a; import urllib.request def getHtml(url): html urllib.request.urlopen(url).read…

一步步学习SPD2010--第十一章节--处理母版页(10)--重置母版页到网站定义

一步步学习SPD2010--第十一章节--处理母版页&#xff08;10&#xff09;--重置母版页到网站定义 在第一章节&#xff0c;你将内容页重置为网站定义。重置母版页到网站定义也没有什么不同。你丢失了在页面上做出的自定义&#xff0c;包括任何静态文本、图片、控件或Web部件。SPD…

拥抱单页网站! jQuery全屏滚动插件fullPage.js

不知道从什么时候开始,单页网站就悄悄走进人们的视线,尤其是国外的网站,更是钟爱单页网站.制作一个全屏滚动的效果,然后每个滚动页弄一个好看的背景色,配上一些描述性的文字,大家都喜欢这么弄,仿佛逼格瞬间可以爆表似的.当然,不得不承认,介绍产品的页面用单页网站似乎确实高大上…

如何实现网站文件动静分离

背景 传统动静不分离的产品架构&#xff0c;随着访问量在增长&#xff0c;性能会成为瓶颈。以一个常见的Web站点为例。www.acar.com是一个刚建立汽车资讯车友交流网站&#xff0c;主站用Php搭建&#xff0c;有10GB的图片素材&#xff0c;部分JS文件。目前购买一台ECS放置所有程…

自学python推荐书籍同时找哪些来实践-Python学习路上有这些论坛、网站、书籍与你同行...

Python学习路上有这些论坛、网站、书籍与你同行 2019-05-03 18:24:41 613点赞 9508收藏 164评论 创作立场声明&#xff1a;希望我的一些经验可以给你少走一些弯路&#xff0c;但人总得走点弯路才可以成长。别怕&#xff0c;在学习python的路上有我陪着你。人生苦短&#xff0c;…

java用nat123_「网速123」使用nat123怎样解决网速慢的问题? - seo实验室

网速123许多人在使用Nat123时会遇到网速慢的问题&#xff0c;下面就来说说相关的解决方法。1、cname正确指向。cname指向的唯一性。使用自己的域名时&#xff0c;如设置cname指向nat123的&#xff0c;确保cname的唯一性&#xff0c;不对应的cname指向解析慢或其他不可预知的问题…