JavaWeb学习之路(53)–CSS应用实例之布局

简介: 本文目录1. 前言2. 本章任务3. 开发过程3.1 设定全局样式3.2 头部标题栏样式3.3 导航栏样式3.4 内容区域3.5 底部版权区域4. 小结

1. 前言

本篇是JavaWeb学习之路,CSS部分的最后一章。


从第24章初识CSS,到第53章CSS应用实例之布局,CSS部分正好写了30篇。


如果大家一直在跟随我的脚步,想必获益匪浅吧,恭喜你们,在学习之路上又迈出了坚实的一步。


我也会继续努力,把后面的JavaScript/jQuery/Java/MySQL等内容讲好,从而培养真正掌握JavaWeb开发技能的技能人才。


2. 本章任务

本章介绍如何实现一个包含标题栏、导航栏、内容区域、底部版权区域,且内容区域左右分列的标准网站,如下图:



3. 开发过程

3.1 设定全局样式

通过CSS的通用选择器(*)设置所有元素内外边距为0px,然后设置body区域背景色为白色。


   /* 全局 */

       * {

           margin: 0px;

           padding: 0px;

       }


       body {

           background: white;

       }


3.2 头部标题栏样式

头部标题栏包含标题:


<div class="header">

       <h1>熊猫诗歌网</h1>

   </div>


为标题设置背景色、文字水平居中、标题栏高度控制在80px,且通过line-height高度等于标题栏高度使文字垂直居中。


 /* 头部 */

       .header {

           /* 标题栏高度 */

           height: 80px;

           /* 垂直居中 */

           line-height: 80px;

           background: white;

           /* 水平居中 */

           text-align: center;

       }


此时效果如下:



3.3 导航栏样式

在JavaWeb学习之路(51)–CSS应用实例之导航栏中,我们详细介绍了如何实现一个导航栏,此处我们直接复用第51章中编写的导航栏。之前文章讲的很详细了,此处不再具体讲解如何实现导航栏。


注意我们修改了一个地方,就是去掉了nav的margin,这样让导航栏宽度占满屏幕。


   <ul class="nav">

       <li><a href="#">唐诗</a></li>

       <li><a href="#">宋词</a></li>

       <li><a href="#">元曲</a></li>

       <li><a href="#">现代诗</a></li>

   </ul>


CSS:


 /* 导航 */

       .nav {

           height: 44px;

           background-color: #1479D7;

           padding: 0;

           list-style-type: none;

       }

       .nav li {

           height: 44px;

           float: left;

       }

       .nav li a {

           font-family: SimSun, Arial, "Arial Narrow", HELVETICA;

           font-size: 1.1em;

           color: white;

           text-decoration: none;

           line-height: 44px;

           margin: 0 18px;

       }

       .nav li a:hover {

           color: #14539A;

           background-color: #CBE1ED;

       }


此时效果如下:



3.4 内容区域

内容区域分为左右两部分,所以代码如下:


<div class="row">

       <div class="left-area">

         

       </div>

       <div class="right-area">

       

       </div>

   </div>


我们通过float,使左右两部分从左至右横向排列,然后设置左右测比例分别为70%、25%,注意加起来要比100%少一些,不然margin或padding占据的空间会使整个宽度超过100%。


    /* 左侧 */

       .left-area {

           min-height: 750px;

           float: left;

           width: 70%;

           margin-left: 16px;

       }

       /* 右侧 */

       .right-area {

           float: left;

           width: 25%;

           margin-left: 24px;

       }


在左侧区域添加诗歌:


 <div class="left-area">

           <div class="poem-box">

               <h2>凉州词</h2>

               <p>

                   黄河远上白云间,一片孤城万仞山,羌笛何须怨杨柳,春风不度玉门关

               </p>

           </div>

           <div class="poem-box">

               <h2>将进酒</h2>

               <p>

                   君不见黄河之水天上来,奔流到海不复回。

                   君不见高堂明镜悲白发,朝如青丝暮成雪。

                   人生得意须尽欢,莫使金樽空对月。

                   天生我材必有用,千金散尽还复来。

                   烹羊宰牛且为乐,会须一饮三百杯。

                   岑夫子,丹丘生,将进酒,杯莫停。

                   与君歌一曲,请君为我倾耳听。

                   钟鼓馔玉不足贵,但愿长醉不愿醒。

                   古来圣贤皆寂寞,惟有饮者留其名。

                   陈王昔时宴平乐,斗酒十千恣欢谑。

                   主人何为言少钱,径须沽取对君酌。

                   五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。

               </p>

           </div>

           <div class="poem-box">

               <h2>春江花月夜</h2>

               <p>

                   春江潮水连海平,海上明月共潮生。

                   滟滟随波千万里,何处春江无月明!

                   江流宛转绕芳甸,月照花林皆似霰;

                   空里流霜不觉飞,汀上白沙看不见。

                   江天一色无纤尘,皎皎空中孤月轮。

                   江畔何人初见月?江月何年初照人?

                   人生代代无穷已,江月年年望相似。

               </p>

           </div>

       </div>


为诗歌添加简单的样式:


  /* 诗歌 */

       .poem-box {

           background-color: #E9EBEC;

           padding: 10px;

           margin: 24px 0px;

       }


为右侧区域添加作者:


  <div class="right-area">

           <div class="author-box">

               <h3>诗人</h3>

               <p>李白</p>

               <p>杜甫</p>

               <p>白居易</p>

           </div>

       </div>


为作者区域添加简单的样式:


 /* 作者 */

       .author-box {

           background-color: #E9EBEC;

           padding: 8px;

           margin: 24px 0px;

       }


       /* 条目 */

       .author-box p {

           padding: 16px 0px;

       }


此时效果如下:



3.5 底部版权区域

在底部添加版权区域:


 <div class="footer">

       版权所有:熊猫大哥大

   </div>


为底部区域添加简单样式,需要注意的是由于内容区域使用了float浮动,到底部的时候需要通过clear: both;清除浮动,从而继续往下占据正常的空间。


 /* 底部 */

       .footer {

           clear: both;

           background: #5576BD;

           height: 48px;

           line-height: 48px;

           text-align: center;

       }


最终效果如下:



4. 小结

整体还是从上到下,依次编写。中间内容区域通过浮动分为两栏,整体还是比较简单的。


相关文章
|
29天前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
59 7
|
29天前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
24 5
|
29天前
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
45 4
|
1月前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
50 2
|
2月前
|
前端开发 开发者 UED
CSS技术的演变与应用
【10月更文挑战第11天】CSS技术的演变与应用
|
3月前
|
XML JavaScript 前端开发
JavaWeb基础4——HTML,JavaScript&CSS
HTML,JavaScript&CSS、元素、标签、css 选择器、属性、JavaScript基础语法、JavaScript对象、BOM浏览器对象模型、DOM文档对象模型、事件监听、正则对象RegExp/ES6
|
3月前
|
前端开发
|
3月前
|
Web App开发 移动开发 自然语言处理
|
7月前
|
Web App开发 XML 前端开发
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
CSS中的非布局样式+CSS布局 前端开发入门笔记(十一)
84 0
|
前端开发
网站开发之DIV+CSS简单布局网站入门篇(五)
这篇文章主要介绍如何使用DIV和CSS简单布局一个网站的首页,通常将网站划分为顶部(Logo、导航条)、中部(页面主要内容、左右栏目)、底部(制作方介绍、超链接)。这是非常基础的一篇引入性文章,采用案例的方式进行介绍的,希望对你有所帮助。运行结果如下图所示:main.html主页面代码:主要通过di
3640 0

热门文章

最新文章