引言
任务一
制作一个简单的页面, 要求:
1)菜单始终在屏幕的上方(无论拖动);
2) 网页的结构如附件所示。每个区块之间,需要有边距和空白。
3) 在屏幕的右下方,固定一个“联系电话”的方框;不随滚动条而改变位置。
4) 进行界面设计。要求有布局、色彩、字体等因素的考虑;
任务二
基于以前的实验所做的网页,重新分栏/分区块(如果之前未分栏,先分栏显示页面)。使得html内容不变,但不同的css所控制的版面布局不同。
环境
- html6
- css
- javascript
- Dreamweaver2020
具体过程
任务一
-
创建html和对应的css
- 设置页面总体布局
<body>
<div class="nav">导航栏 </div>
<div class="main">
<div class="left">左侧栏</div>
<div class="right">右侧栏</div>
</div>
<div class="footer">页脚</div>
<div class="contact">联系方式 </div>
</body>
- 先写导航栏
<div class="nav">
<ul class="menu">
<li>导航</li>
<li>导航</li>
<li>导航</li>
<li>导航</li>
<li>导航</li>
<li>导航</li>
</ul>
</div>
.nav{
position: fixed;/*导航栏常驻于页面顶端*/
top: 0;
left: 0;
right: 0;
background-color: #ac1400;
text-align: center;
box-shadow: 0px 5px 5px #00000088;
}
.menu{
width: 70%;
margin: 0 auto;
padding: 0;
list-style-type: none;
display: flex;/*弹性盒布局*/
}
.menu li{
margin: 0;
flex: 1;/*弹性盒布局*/
padding: 10px;
font-family: "微软雅黑";
font-size: 20px;
font-weight: bolder;
color: white;
}
.menu li:hover{/*指针悬浮效果*/
background-color: #981100;
border-bottom: black 3px solid;
padding-bottom: 7px;
}
在body选择器中设置通用的属性值
body{
margin: 0;
padding: 0;
word-wrap:break-word;/*允许长单词换行*/
font-family: "微软雅黑";
font-size: 20px;
line-height: 2em;
}
效果如下
- 左栏
<div class="left">
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
<div class="item">文字文字文字文字文字文字</div>
</div>
.main{
bottom: 0;
left: 0;
right: 0;
margin:10px;
margin-top: 80px;
overflow: hidden;
}
.left{
float: left;
width: 25%;
border-right: 3px solid #AC1400;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 1%;
font-size: 18px;
line-height: 36px;
}
.item{
padding: 5% 10% ;
}
.item:hover{
background-color: #EFEFEF;
border-left: black solid 3px;
padding-left: calc(10% - 3px);
}
效果:- 右栏
<div class="right">
<div class="chapter">
<h3>标题标题标题标题标题标题标题</h3>
<p>文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字字文字文字文字文</p>
</div>
<table>
<tbody>
<tr>
<th scope="col"> 标题</th>
<th scope="col"> 标题</th>
<th scope="col"> 标题</th>
</tr>
<tr>
<td> 数据</td>
<td> 数据</td>
<td> 数据</td>
</tr>
<tr>
<td> 数据</td>
<td> 数据</td>
<td> 数据</td>
</tr>
<tr>
<td> 数据</td>
<td> 数据</td>
<td> 数据</td>
</tr>
<tr>
<td> 数据</td>
<td> 数据</td>
<td> 数据</td>
</tr>
<tr>
<td> 数据</td>
<td> 数据</td>
<td> 数据</td>
</tr>
</tbody>
</table>
<div class="chapter">
<h3>标题标题标题标题标题标题标题</h3>
<p>文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</p>
</div>
</div>
.right{
float: left;
width: 75%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 4%;
}
.chapter{
margin: 0;
margin-bottom: 3em;
}
.right table{
width: 100%;
margin-bottom: 3em;
border: 3px solid #EFEFEF;
border-collapse: collapse;
text-align: center;
}
.right table th{
background-color: #EFEFEF;
}
效果:- 页脚部分
<div class="footer">页脚页脚页脚页脚页脚页脚页脚页脚<Br>
页脚页脚页脚页脚</div>
.footer{
clear: both;
width: 100%;
text-align: center;
background-color: #ac1400;
color: white;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 30px;
效果:- 联系方式浮动框
<div class="contact">
<h3>联系方式</h3>
<p>邮箱:zimo@qq.com</p>
<p>电话:13088886666</p>
</div>
.contact{
position: fixed;
right: 0;
bottom: 110px;
width: 50px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
background-color: #ac1400;
color: white;
font-size: 15px;
line-height: 2em;
box-shadow: 0px 5px 5px #00000088;
}
.contact h3,p{
margin: 0;
}
.contact p{
margin-top: 10px;
display: none;
}
.contact:hover{
position: fixed;
right: 0;
bottom: 0;
width: 100px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
background-color: #ac1400;
color: white;
font-size: 15px;
line-height: 2em;
}
.contact:hover p{
display: block;
}
效果:
鼠标放上去后:
任务二
- 修改了主页导航栏的css,从左边变成顶部
nav{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 7%;
padding: 0;
background-color: #FFFFFF77;
z-index: 1;
}
.menu{
width: 70%;
height: 100%;
margin: 0 auto;
list-style-type: none;
}
.menu-item{
float: left;
width: 25%;
height: 100%;
color: #ac1400;
font-size: 3vh;
font-weight: bolder;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items:center;
}
.menu-item:hover{
background-color: #ce1700;
color: white;
}
.menu-item:active{
background-color: #ac1400;
}
效果:
- 修改了page模板的main的样式,使之适应导航栏的变化
.main{
position: fixed;
top:7%;
left: 0;
right: 0;
bottom: 0;
line-height:30px;
padding: 0;
color: #FFFFFF;
- 扩充学校简介部分的内容,并使用了左侧导航栏右侧内容的布局,左固定右滚动
<ul class="left">
<a href="#xxjj">
<li>学校简介</li>
</a> <a href="#xxbz">
<li>学校标志</li>
</a> <a href="#xybx">
<li>学院部系</li>
</a> <a href="#xydt">
<li>校园地图</li>
</a>
</ul>
<div class="right">
<article>
<h1><a name="xxjj">学校简介</a></h1>
<p>厦门大学(Xiamen University),简称厦大(XMU),是由中华人民共和国教育部直属、中央直管副部级建制的综合性研究型全国重点大学,国家“双一流”A类世界一流大学建设高校,国家“2011计划”牵头高校,国家“211工程“和“985工程”重点建设高校。</p>
<p>学校由爱国华侨领袖陈嘉庚先生于1921年创办,是中国近代教育史上第一所华侨创办的大学,国内最早招收研究生的大学之一,是首个在海外建设独立校园的大学,早期建筑入选全国重点文物保护单位和“首批中国20世纪建筑遗产”名录,被誉为“南方之强“、“中国最美大学”。
<p/>
<p> 截至2019年11月,学校4个校区占地9700多亩,其中马来西亚分校约900亩;有研究生院、6个学部、29个学院和15个研究院;专任教师2662人,两院院士22人;在校学生40000余人,本研比约为1:1;17个学科进入ESI全球前1%,位列中国大陆高校第7位。</p>
</article>
<article>
<h1><a name="xxbz">校训</a></h1>
<img src="images/logo/xiaoxun.gif" width="143" height="57" alt=""/>
<p>厦门大学校训为“自强不息,止于至善”。</p>
<p>自强不息”是陈嘉庚先生创校时亮出的精神话语。1921年4月6日厦大举行开校式,演讲台中间就悬挂着陈嘉庚指定的四个大字——“自强不息”。“自强不息” 出自《周易•乾》的“天行健,君子以自强不息”,意味着追求永不歇止,蕴含着雄健浩然之气,体现了民族自立于世界之林的精神和气概。</p>
<p>“止于至善”为厦大私立时期的林文庆校长确立的校训。“止于至善” 源于《礼记•大学》“大学之道,在明明德,在亲民,在止于至善”, 意在表明厦门大学应该始终如一、永无止息地探寻“事理之极致”,抵达科学真理和人格精神的最高境界,在启智与道德上达到完美至善,体现了中国文化的人格理想,蕴含着生命对于至善至美理想的追求与践行。</p>
<p>1994年10月8日,经校党委校行政办公会议研究决定,“自强不息,止于至善”被正式确定为厦门大学校训。</p>
</article>
<article>
<h1>校徽</h1>
<img src="images/logo/xiaohui.jpg" alt=""/>
<p>校徽图案是陈嘉庚先生创办厦门大学时确定和沿用的,其特定的内涵,简要说明如下:徽标圆环上方为繁体字“厦门大学”,下方为拉丁语“厦门大学”;盾形上的三颗五角星图案代表中国传统哲学中的“三才”,即所谓天然中精神的、宇宙的、人类的三大元素;盾形中心的城及城门图案象征着广纳贤才、开放办学;绶带上的“止于至善”四字为建校初期校训。</p>
</article>
<article>
<h1>校歌</h1>
<img src="images/logo/xiaoge.jpg" width="825" height="1000" alt=""/> </article>
<article>
<h1><a name="xybx">学院部系</a></h1>
<div class="department">
<h3>人文与艺术学部</h3>
<ul class="college">
<li>人文学院</li>
<li>新闻传播学院</li>
<li>外文学院</li>
<li>艺术学院</li>
<li>国学研究院</li>
<li>海外教育学院</li>
<li>国际学院</li>
</ul>
</div>
<div class="department">
<h3>社会科学学部</h3>
<ul class="college">
<li>经济学院</li>
<li>王亚南经济研究院</li>
<li>管理学院</li>
<li>财务管理与会计研究院</li>
<li>法学院</li>
<li>厦门国际法高等研究院</li>
<li>知识产权研究院</li>
<li>公共事务学院</li>
<li>公共政策研究院</li>
</ul>
</div>
<div class="department">
<h3>人文与艺术学部</h3>
<ul class="college">
<li>人文学院</li>
<li>新闻传播学院</li>
<li>外文学院</li>
<li>艺术学院</li>
<li>国学研究院</li>
<li>海外教育学院</li>
<li>国际学院</li>
</ul>
</div>
<div class="department">
<h3>社会科学学部</h3>
<ul class="college">
<li>经济学院</li>
<li>王亚南经济研究院</li>
<li>管理学院</li>
<li>财务管理与会计研究院</li>
<li>法学院</li>
<li>厦门国际法高等研究院</li>
<li>知识产权研究院</li>
<li>公共事务学院</li>
<li>公共政策研究院</li>
</ul>
</div>
</article>
<article>
<h1><a name="xydt">校园地图</a></h1>
</article>
</div>
css
article{
margin-bottom: 20%;
}
article:last-child{
margin-bottom: 0;
}
h1{
width: 100%;
text-align: center;
margin-top: 0;
color: #ce1700;
padding-bottom: 1%;
border-bottom: #ce1700 solid 2px;
}
.left{
margin: 0;
margin-top:3%;
float: left;
width: 20%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
list-style-type: none;
}
.left li{
padding: 3%;
font-size: 3vh;
font-weight: bolder;
color: white;
display: flex;
align-items: center;
justify-content:space-around;
border-right: #FFFFFF77 solid 3px;
}
.left li:hover{
background-color: #FFFFFF77;
border-right: #FFFFFF00 3px solid;
color: black;
}
.left li:active{
background-color: #FFFFFFAA;
border-right: #FFFFFF00 3px solid;
color: black;
}
.right{
float: left;
width: 80%;
height: 100%;
margin-top:3%;
padding: 0 10% 5%;
font-size: 20px;
line-height: 40px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow-y: scroll;
}
img{
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
display: block;
margin: auto;
}
.department{
margin-top: 40px;
}
h3{
font-size: 20px;
margin:0;
}
.college{
list-style-type: none;
overflow: hidden;
padding: 0;
margin: 0;
}
.college li{
float: left;
padding: 5px;
margin: 5px;
background-color: #FFFFFF77;
color: black;
}
效果:
左侧的锚链接快速定位到右边的指定内容。
总结
- display:flex可以使子div更好地适应父div
- 次要信息不能太抓眼球,要把握好视觉强度的主次