网页制作系列学习(三)CSS编程排版练习:下拉组件,导航菜单和多个css布局

一、前言

- 实验要求

TASK1

制作一个简单的页面, 要求:

1)菜单始终在屏幕的上方(无论拖动);

2) 网页的结构如附件所示。每个区块之间,需要有边距和空白。

3) 在屏幕的右下方,固定一个“联系电话”的方框;不随滚动条而改变位置。

4) 进行界面设计。要求有布局、色彩、字体等因素的考虑;

TSAK2

基于以前的实验所做的网页,重新分栏/分区块(如果之前未分栏,先分栏显示页面)。使得html内容不变,但不同的css所控制的版面布局不同。

开发环境?

  1. 操作系统: Windows 10 X64
  2. 软件:Hbuilder


二、背景知识介绍

TASK1

postion:absolute 跳出文本流,不是行内元素,设置宽高有效,我的理解。
postion属性一共有4个值,分百别为static,absolute,relative和fixed。
(1) static为默认值,它表示块保持在原本应该在的位置上,即改值没有任何移动的效果。
(2) 当子块的postion值设为absolute时,子块已经不再从属于父块。
注:top,right,bottom和left这4个css属性,度他们都是配合position属性使用的,不但可以设置为绝对像素,也可以设置为表分数,表示块的各个边界离页面边框(postion=absolute)的距离,或者各个边界离原来位置(postion=relative)的距离。只有当postion属性设版置为absolute或者relative时才能生效。如果设置为static,则子块不会有任何变化。

(3)块的postion设置为relative时,与将其设置为absolute时完全不同。这时子块是相对于其父块来进行定位的,同样配权合top,right,bottom和left这4个属性来使用的。
用例:

<html>
<head>
<style type="text/css">
h2.pos_left
{
position:relative;
left:-20px
}
h2.pos_right
{
position:relative;
left:20px
}
</style>
</head>

<body>
<h2>正常位置</h2>
<h2 class="pos_left">正常位置向左移动</h2>
<h2 class="pos_right">正常位置向右移动</h2>

</body>

</html>

效果:

image.png

(4) 当子块的postion值设为fixed时,子块始终处于屏幕的某个位置(通过left top bottom right来设置)。
我们可以通过设置position为fixed来创建导航菜单和联系方式板块。

.menu
{
    /*导航菜单*/
    position:fixed;
    left: 0;
right: 0;
margin:0 auto;
background-color:hotpink;
width: 1200px;
height:200px;
z-index:9999;
opacity:0.7;
text-align: center;
font-family: "文悦新青年体 (非商业使用) W8";

/*遮挡*/
}

.contactinfo
{
    position:fixed;
    opacity: 0.7;
    bottom:5px;
    right:100px;
    width:150px;
    height:250px;
    background-color: orangered;
}

TASK2
1.通过button实现页面的重修排布:

  • 在1.html中放入一个地址为2.html的button。
  • 在2.html中放入一个地址为1.html的button。
  • 设置button的text=重新排版
    2.将不同板块的代码写在不同的css文件里,再用link rel="stylesheet" type="text/css" href="文件名.css"读取css文件里的代码:
    本案例中的css文件的link:
    <link rel="stylesheet" type="text/css" href="header.css"/>
    <link rel="stylesheet" type="text/css" href="content.css"/>
    <link rel="stylesheet" type="text/css" href="picture.css"/>
    <link rel="stylesheet" type="text/css" href="form.css"/>
    <link rel="stylesheet" type="text/css" href="footer.css"/>

三、视觉设计分析:

字体:

TASK1

  • 均为非衬线字
  • 卡通黑体作为标题,正文用微软雅黑
  • 字体的选择可以参考我之前的文章:字体·认知心理与界面

TASK2

  • 均为非衬线字
  • 黑体作为标题,正文用微软雅黑

颜色和排版:

TASK1:

本次实验的大致要求如下:

image.png

我的构想主题是:做一个猫屋的网页

颜色

根据:

颜色数量不多于4种,且最佳比例为60%:30%:10%

我选用了hotpink,lightpink和oranged。margin的部分选用白色。

排版
  • 总板块分为menu,content,footer,和contactInfo(联系方式)。
  • 在menu块中,我划分了搜索框子块和logo子块。
  • 在content块中,按要求分为左右两部分,右子块种有分为文字和表格。

TASK2

lab1.html:(第一次网页设计的作业)

参见网页制作系列学习(一)html+css入门
极简风格:作为mocom的主页,该网页并不需要把太多冗杂的信息展示出来,我摘取了两部分:实验室介绍和科研信息,在这两区域中分别增加了相关链接。
标题居中:我并没有把移动计算和数据分析放在最上方,用户不能够快速地理解这个词汇的意义:没有提到这个实验室隶属于厦门大学,甚至没有提到这是一个实验室网页,所以在最上方的大标题显得有点多余。我认为放在两个分??橄路奖闶褂没Ю斫獗晏獾囊馑?。如下图所示:

image.png

task2.html:

依然是极简风格

  • 没有设计太花哨的功能:本来我设置了下拉界面的功能,但觉得和”实验室网页”实在是不搭,于是删掉了。改为由悬浮变色设计的表格。
  • 标题居上:想和上次做的尽量不同,选择了标题在上的方式
  • 尽可能多的陈列信息:上次是把信息规整为三大类放在三个div里,这次想在主页上展示更多的信息。
    效果图如下所示:
    image.png

    image.png

    总的来说,,上次的页面设计自己摸索的创造的成分占绝大多数,这次的页面设计参考了很多高校和实验室的首页。

三、编程分析

TASK1:

通过设置position:fixed使menu子块不随滚屏而改变位置
CSS文件:

.menu
{
    /*导航菜单*/
    position:fixed;
    left: 0;
right: 0;
margin:0 auto;
background-color:hotpink;
width: 1200px;
height:200px;
z-index:9999;
opacity:0.7;
text-align: center;
    font-family: "文悦新青年体 (非商业使用) W8";

/*遮挡*/
}

设置链接的鼠标悬浮变色
CSS文件

a{
    color:white;
    font-family: "文悦新青年体 (非商业使用) W8";
    
}
    a:hover
            {
                color:purple;
                background-color:lightpink;

按照要求的排版:
html代码:

<body>
        
        <div  style="text-align: center;" class=menu>
            
                    <a display:block;font-size:60px ;background-color:hotpink ; ;"target="_blank">
                猫咪の小屋
                  </a>
            <form>
            <input type="text" >
            <button >站内搜索</button>
            </form> 
            <div style="position:relative;left:13%" id='item'>
        <ul>
            <li><a display:block;background-color:hotpink ;font-size:50px;"target="_blank">全部</a></li>
            <li><a display:block;background-color:hotpink ;font-size:50px;"target="_blank">长毛</a></li>
            <li><a display:block;background-color:hotpink ;font-size:50px;"target="_blank">短毛</a></li>
            <li><a display:block;background-color:hotpink ;font-size:50px;"target="_blank">领养</a></li>
        </ul>
        </div>
            
        </div>
        <div align="center" class=content>
            
            <div  class=content1>
                <br/>
                <mainbody2 style="position: relative;top:100px;color:deeppink">猫咪是可爱的结晶</mainbody2>
                <img src="../img/猫.jpg"style="width:550px;height:60%;position: relative;top:200px" >

            </div>
            <div  class=content2>
                <mainbody2 style="position: relative;top:50px;color:deeppink">这里有不同种类的猫咪喔</mainbody2>
                
                <br />
                <img src="../img/布偶猫.jpg"style="width:333px;height:40%;position: relative;top:150px;float:left" >
                <img src="../img/折耳猫.jpg"style="width:333px;height:40%;position: relative;top:150px;float:left" >
                <img src="../img/英短猫.jpg"style="width:334px;height:40%;position: relative;top:150px;float:left" >
                
                <table style="position: relative;top: 150px;">
                <tr>
                <th style="font-size: 30px;">布偶猫</th>
                <th style="font-size: 30px;">折耳猫</th>
                <th style="font-size: 30px;">英短猫</th>
                </tr>
                <tr>
                <td style="font-size: 30px;">Pika</td>
                <td style="font-size: 30px;">Redeka</td>
                <td style="font-size: 30px;">Medusa</td>
               </tr>
                <tr>
                <td style="font-size: 30px;">长毛猫</td>
                <td style="font-size: 30px;">长毛猫</td>
                <td style="font-size: 30px;">短毛猫</td>
            </tr>
                </table>
            </div>
        </div>
        <div align="center" class=footer>
            <mainbody2 style="position: relative;top:200px;background-color: transparent;color:white;">produced by:vein</mainbody2>
        </div>
        <div class=contactinfo>
            <div style="background-color: orangered"class=vertical>联系方式  :请私聊</div>
        
        </div>
    </body>

效果如下:


image.png

TASK2:

通过不同css文件实现版面设计:
CSS代码:

    <link rel="stylesheet" type="text/css" href="header.css"/>
    <link rel="stylesheet" type="text/css" href="content.css"/>
    <link rel="stylesheet" type="text/css" href="picture.css"/>
    <link rel="stylesheet" type="text/css" href="form.css"/>
    <link rel="stylesheet" type="text/css" href="footer.css"/>

搜索框和button的设计:
CSS代码:

input{
            
        
            width:75%;
            height:50px;
        }
        button{
            position: absolute;
            align-content: center;;
            height:60px;
            width:150px;
            margin:auto;

表格设计:通过hover选择器赋予表格随鼠标悬停而变化的颜色

table,td,th
  {
  border:1px solid black;
  }



table
  {
  width:100%;

 
  
  }
td{
  align:center;
  text-align:center;
  vertical-align:center;
  height:100px;
  width: 100px;
  border-style: solid;
  border-width:2px;
  border-color: black;
}
th
  {
  height:80px;
  background-color: black;
  color:white;
  }
  th:hover{
    background-color: darkred;
    color:white;
  }
  td:hover{
    background-color: darkred;
    color:white;
  }
  td{
    background: lightgrey;
    height:150px;
  }

页面布局设计:
html代码:

<body>
            <div class=headUp></div>
        
        <div class=head>

            <div class=headheadPic>
                <div class=headTitle>
            <p style="font-size: 35px;color:black;font-family: '微软雅黑';">
                厦门大学|移动计算与数据分析
            </p>
            </div>
            <div class=headSearch>      
            <form>
            <input type="text" >
            <button ><p style="font-size:15px;font-family: '微软雅黑';position:relative;bottom:10px;">站内搜索</p></button>
            <br/>
        
            <a href="lab1.html"style="font-size:20px;position: relative;left:580px;color:black;top:10px">切换排版</a> 
            </form> 
            </div>
            </div>
            <div class=headLine></div>
        </div>
        
        <div class=middleForm>
            <table style="position: relative;">
                <tr>
                <th style="font-size: 30px;">主页</th>
                <th style="font-size: 30px;">新闻</th>
                <th style="font-size: 30px;">人员</th>
            <th style="font-size: 30px;">科研</th>
                <th style="font-size: 30px;">课程</th>
                    <th style="font-size: 30px;">实践</th>
                        <th style="font-size: 30px;">文章</th>
                </table>
        </div>
        
        
        <div class=picture>
            <div class=pictureIn>
            <img style="position: relative;width:1500px;height:100%;z-index: 999;"src="../img/厦大pic.png" >
            </div>
        </div>
        
        <div class=lab>
            <h1 style="position: relative;left:20px;font-size:40px;color:">实验室介绍</h1>
            
                <table style="position: relative;top: 20px;">
                <tr>
                <td style="font-size: 30px;background-color: white;color:black"><a href="www.baidu.com"style="color:black">教师队伍</a></td>
                <td style="font-size: 30px;background-color: white;"><a href="www.baidu.com"style="color:black">学生名册</a></td>
                </tr>
                </table>
                <br />
            <h1 style="position: relative;left:20px;top:30px;font-size:40px">课程介绍</h1>
            <table style="position: relative;top: 50px;">
                <tr>
                <td style="font-size: 30px;">人机交互</td>
                <td style="font-size: 30px;">C#编程</td>
                <td style="font-size: 30px;">中间件技术</td>
               </tr>
                <tr>
                <td style="font-size: 30px;">人工智能概论</td>
                <td style="font-size: 30px;">高级软件工程</td>
                <td style="font-size: 30px;">短毛猫</td>
            </tr>
                </table>
        </div>
        
        <div class=research>
            <h1 style="position: relative;left:20px;font-size:40px">科研信息</h1>
            <table style="position: relative;top: 20px;">
                <tr>
                <td style="font-size: 30px;">客车充电优化</td>
                <td style="font-size: 30px;">DEEPTRAVEL论文介绍</td>
                <td style="font-size: 30px;">PCB瑕疵检测算法</td>
               </tr>
                <tr>
                <td style="font-size: 30px;">特征抽取</td>
                <td style="font-size: 30px;">Word2Vec</td>
                <td style="font-size: 30px;">Pytorch介绍</td>
            </tr>
            <tr>
                <td style="font-size: 30px;">networkx库介绍</td>
                <td style="font-size: 30px;">Hetero Edge论文介绍</td>
                <td style="font-size: 30px;">Aloe论文介绍</td>
            </tr>
                </table>
        </div>
        
        <div class=footer>
            <p style="color:black;position: relative;left:500px;top:30px;font-size:30px;background-color: lightgrey;">实验室概况</p>
            <p style="color:black;position: relative;left:500px;font-size:25px;background-color: lightgrey;top:30px;">联系方式</p>
            <p style="color:black;position: relative;left:500px;font-size:25px;background-color: lightgrey;top:30px;">课程中心</p>
            <p style="color:black;position: relative;left:500px;font-size:25px;background-color: lightgrey;top:30px;">课程项目</p>
            <p style="color:black;position: relative;left:500px;font-size:25px;background-color: lightgrey;top:30px;">毕业生花名册</p>
        </div>
        <div class=footer2>
            <p style="color:black;position: relative;left:500px;top:130px;font-size:25px;background-color: black;color:lightslategrey">电话查号台:0592-xxxx  地址:福建省厦门市思明区思明南路422号</p>
        </div>
    </body>

四.实验总结

1.通过设置width,top:为百分数可以使得板块随屏幕大小自适应改变位置。
2.水平居中是:text-align:center,垂直居中是vertical-align:center。
3.使用较不常见的字体时,不同浏览器的兼容性不同。
在本次实验中,IE浏览器可以显示出文悦新青年字体,Chrome浏览器则用黑体代替了文悦新青年字体。
4.如果一个子块的位置被设置为absoulute,align居中不再使用,需要使用代码:

    left: 0;
        right: 0;
        margin:0 auto;/*特殊居中*/

本文到此结束,感谢阅读

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容

  • 一 外部式css样式 (也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css...
    KunMitnic阅读 935评论 0 1
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,591评论 0 6
  • CSS基础 本文包括CSS基础知识选择器(重要?。。。┘坛小⑻厥庑?、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,071评论 0 40
  • CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器...
    百作不死的学习阅读 1,160评论 0 7
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,044评论 0 1