javaweb之网站布局demo
demo课程来源:慕课网javaweb课程
分析:实现了静态网页的展示效果。
效果图:
绘制概述:
- 将备用图片新建image文件夹,与html和css文件置于同一目录下
- 将整个网页6个区域,找6个盒子对应
- 标题及导航区
- 横幅栏
- about区
- picture-word区
- gallery区
- footer区
- 按照不同区特点,设计css样式,主要涉及知识点:盒子模型、定位、浮动、遮罩、hover等
步骤详解
一、标题及导航区
- html指向外部css文件
- header由logo及nav两部分构成
- nav细分出六个小导航
1 | <!--html文件--> |
- 消除浏览器默认边距,设置微软雅黑字体
- logo设置左浮动
- nav设置右浮动
- nav-li设置左浮动,同时调整间距,垂直居中对齐
- nav-li设置hover效果,悬浮时nav-li块出现黑色背景效果,鼠标变为“小手”效果
1 | <!--css文件--> |
二、横幅栏
- banner盒子,限定banner区尺寸及绝对定位
- 内部设计三层盒子,从底往上为:
- bannerP,放置图片
- toplayer,黑色方形图片,为实现遮罩效果
- toplayer-top,banner中央的表格
- toplayer-top上,分成3类Msg
1 | <!--html--> |
- bannerP与banner区尺寸重合
- toplayer与banner区尺寸重合,黑色背景,透光0.5
- toplayer-top表格在banner居中对齐
- 三个Msg实现透明背景,乳白色线条
- 按钮居中对齐
1 | <!--css--> |
三、about区
- about盒子,限制该区范围
- 分为about-title、title-line、about-desc、about-content四大块
- 前三块样式简单,但about-content复杂,再细分为content-explore、content-img、content-count三块
- content-explore分为explore-title、explore-block两块
- content-count分为count1和count2两块
1 | <!--html--> |
- about-title绝对定位,title-line相对于about-title定位,可使title-line代码实现复用
- about-content中,content-img是中间块并且绝对定位,两边块相对于中间块定位,左边块的z-index设置为2,设置对应left偏移,实现块与块之间少量面积重叠
- 左块content-explore调整背景颜色rgba(255, 255, 255, 0.4),形成毛玻璃效果
- content-count的上下两块,可以实现样式复用
1 | <!--css--> |
四、picture-word区
- picture-word盒子,限定该区范围
- 分为layer1..8,图文间隔排布
- 文字区细分四部分(layerword_1、layerword_2、layerword_3、layerword_button),各文字区样式代码可以复用
1 | <!--html--> |
- picture-word限定尺寸定位
- 关键:layer1..8各层均采用绝对定位,将全区等分为两层,每层等分4份
- 关键:图或文字都采用相对定位,依次填坑,进而实现样式复用
1 | <!--css--> |
五、gallery区
- gallery盒子限定该区尺寸定位
- 分为gallery-title、title-line、gallery-desc、gallery-picture_1..6几大部分
- gallery-picture_1再次细分为img和gallery-word两部分
1 | <!--html--> |
- gallery-title、title-line、gallery-desc部分与about区域样式雷同,本可以代码复用,本demo中仅复制修改代码,还有修改的空间
- gallery-picture_1..6部分的思路与picture-word区的排布雷同,此处也不再赘述
- 排布不同之处在于,未将gallery宽度等分,各gallery-picture的width仅为32%,但是偏移位置仍然是33.3%及66.7%,由此实现了相邻图片之间的间隙,也是一种解决问题的思路
1 | <!--css--> |
六、footer区
简单,此处不解释,看代码
1 | <!--html--> |
1 | <!--css--> |
完整项目源码:
index.html文件:
1 | <!--index.html文件如下--> |
index.css文件如下:
1 | *{ |
本人原创,转载请注明出处,谢谢!