第三天 DIV+CSS布局实例

本文详细介绍了一个仿优快云博客首页布局的具体实现过程,包括HTML结构和CSS样式设计。通过一个实例展示了如何划分页面区域并逐步美化界面。

首先确定整体布局,一般分为头部,侧栏,主要内容和尾部等
下面是一个比较通用的布局案例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            body{
                font-family: "微软雅黑",arial;
            }
            .container{
                width: 1000px;
                height: 600px;
            }
            .header{
                height: 60px;
                background-color: wheat;
            }
            .maincontainer{
                height: 440px;
                width: 1000px;
            }
            .main{
                width: 700px;
                height: 100%;
                float: left;
                background-color: cadetblue;
            }
            .slider{
                width: 300px;
                height: 100%;
                float: right;
                background-color: cornflowerblue;
            }
            .footer{
                height: 100px;
                background-color: peru;
            }
        </style>
    </head>
    <body>
        <div class="container">
            <div class="header">
                头部
            </div>
            <div class="maincontainer">
                <div class="main">
                    主要内容    
                </div>
                <div class="slider">侧边栏</div>
            </div>
            <div class="footer">尾部</div>
        </div>
    </body>
</html>

运行界面:
基本布局
可以看到网页主要被分为这几个主要部分,接下来就要在每个主要部份里加上小的div框来实现具体的内容了。这是一个从粗到细的过程。
虽然丑了点,不过不要紧,可以慢慢美化。


实例:仿优快云博客首页

先看做出来的样子:
仿优快云


再看代码,这是html的代码主要部分(节省篇幅删减部分),主要看div组成的网页骨架:

<body>
        <div class="container">
            <!--主容器-->
            <div class="header">
                <!--头部-->
                <div class="headerlogo">
                    <!--头部logo条-->
                    <img src="img/logo.png" />
                    <p>博客</p>
                </div>
                <ul class="nav">
                    <!--导航条-->
                    <li>
                        <a href="#">首页</a>
                    </li>
                </ul>
            </div>
            <div class="maincontainer">
                <!--内容部分的容器-->
                <div class="main">
                    <!--主要内容-->
                    <div class="article">
                        <!--文章块-->
                        <div class="headericon">
                            <!--头像-->
                            <img src="img/3_lirenzuo.png" /><br/>
                            <a href="#">lirenzuo</a>
                        </div>
                        <div class="acontent">
                            <!--标题和摘要-->
                            <h3>史上最难java面试题</h3>
                            <p>一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目一堆题目</p>
                            <ul>
                                <li>
                                    <a href="#">云计算/大数据</a>
                                </li>
                                <li>
                                    <a href="#">高并发</a>
                                </li>
                                <li>
                                    <a href="#">昨天17:08</a>
                                </li>
                            </ul>
                        </div>
                    </div>
                </div>
                <div class="slider">
                    <!--侧边框-->
                    <div class="programmer">
                        <!--作者介绍栏-->
                        <img src="img/20171012185120322.jpg" /><br/>
                        <a href="#">韦玮</a><br/>
                        <label>&nbsp;&nbsp;&nbsp;签约作者&nbsp;&nbsp;&nbsp;</label><br/>
                        <p>《精通Python网络爬虫》作者,研究方向为Python、大数据、人工智能</p><br/>
                    </div>
                </div>
            </div>
            <div class="footer">
                <!--尾部-->
                <div class="footlink">
                    <!--外链-->
                    <ul>
                        <li>
                            <a href="#">公司简介 |</a>
                        </li>
                    </ul>
                </div>
                <br/>
                <div class="footinfo">
                    <!--联系方式-->
                    <ul>
                        <li>
                            <p>网站客服 </p>
                        </li>
                    </ul>
                </div>
                <br/>
                <div class="foototherinfo">
                    <!--备案信息-->
                    <ul>
                        <li>
                            <p>京 ICP 证 09002463 号|</p>
                        </li>
                        <li>
                            <p>Copyright © 1999-2016, youkuaiyun.com, All Rights Reserved</p>
                        </li>
                    </ul>

                </div>
            </div>
        </div>
    </body>

再看布局文件,我会写好注释,最好拷贝到本地对照着html看:

* {
    margin: 0;
    /*去掉浏览器所有默认的margin值,不然头部无法靠到顶部*/
}

body {
    font-family: "微软雅黑", arial;
    /*设置字体家族,不设置用默认也没关系*/
}

.container {
    width: 100%;
    height: 100%;
    background-color: #E7ECEF;
    /*主容器宽高和浏览器窗口大小一致,背景颜色浅灰*/
}

.header {
    height: 88px;
    background-color: white;
    /*头部颜色白色*/
}

.headerlogo {
    height: 42px;
    background-color: #48525E;
    /*头部logo条颜色深蓝灰,覆盖了白色*/
}

.headerlogo img {
    margin-left: 128px;
    width: 42px;
    height: 42px;
    float: left;
    /*图片浮动*/
}

.headerlogo p {
    color: white;
    font-size: 25px;
    float: left;
    margin-left: 10px;
    margin-top: 3px;
    /*博客两个字,白色,同样靠左浮动*/
}

.maincontainer {
    margin-left: 128px;
    margin-top: 15px;
    width: 1170px;
    height: 1025px;
    /*内容的容器大小*/
}

.main {
    width: 850px;
    height: 100%;
    float: left;
    background-color: white;
    /*主要内容框靠左浮动,白色背景,高度和maincontainer一致*/
}

.slider {
    margin-left: 15px;
    width: 300px;
    height: 100%;
    float: left;
    background-color: white;
    /*侧栏*/
}

.footer {
    margin-top: 30px;
    height: 100px;
    background-color: white;
    /*尾部*/
}

ul {
    list-style-type: none;
    overflow: hidden;
    /*去掉默认无序列表的黑点标号,并设置当浏览器窗口长度缩短时隐藏列表超出的项,而不是换行显示*/
}

ul li {
    float: left;
    /*所有无序列表的项浮动,不换行显示*/
}

a {
    text-decoration: none;
    /*去掉默认链接的下划线样式*/
}

.nav {
    height: 46px;
    margin-left: 58px;
    /*导航条*/
}

.nav li {
    margin-left: 35px;
    margin-top: 10px;
}

.nav li a:link {
    color: black;
    /*导航条中链接颜色改为黑色*/
}

.nav li a:hover {
    color: #1E90FF;
    /*鼠标放到链接上变为蓝色*/
}

.nav li a:active {
    color: red;
    /*点击链接变成红色*/
}

.nav li a:visited {
    color: blueviolet;
    /*访问过后变成蓝紫色*/
}

.article {
    height: 200px;
    border-bottom: 5px solid #E7ECEF;
    /*文章框,底部边界线设置为背景颜色,以分隔不同文章*/
}

.headericon {
    width: 150px;
    height: 200px;
    text-align: center;
    float: left;
    border-right: 1px solid #E7ECEF;
    /*头像框,文字图片水平居中,设置右边线,以分隔头像和标题摘要*/
}

.headericon img {
    width: 62px;
    height: 62px;
    border-radius: 50%;
    margin-top: 38px;
    /*头像图片,设置border-radius将图片变为圆形*/
}

.headericon a {
    margin-top: 108px;
    font-size: 14px;
    /*作者姓名是一个链接*/
}

a:link {
    color: black;
    /*这个链接样式比较通用,所以用元素选择器*/
}

a:hover {
    color: darkred;
    /*鼠标悬停变深红*/
}

a:active {
    text-decoration: underline;
    /*点击加下划线*/
}

a:visited {
    color: black;
    text-decoration: underline;
    /*访问后变黑加下划线*/
}

.acontent {
    width: 690px;
    height: 200px;
    float: left;
    /*内容框*/
}

.acontent h3 {
    margin-top: 38px;
    margin-left: 20px;
    /*标题*/
}

.acontent p {
    margin-top: 15px;
    margin-left: 20px;
    font-size: 14px;
    color: darkslategray;
    /*摘要,用深灰与标题区分*/
}

.acontent ul {
    margin-top: 15px;
    margin-left: -30px;
    /*标签和时间等一些信息*/
}

.acontent a {
    font-size: 12px;
    /*这个链接的显示样式已经在上面设置了*/
}

.acontent li {
    margin-left: 10px;
}

.acontent li:nth-child(3) {
    float: right;
    margin-right: 20px;
    /*特殊的选择器,选择第3个li标签*/
}

.footlink {
    padding-top: 10px;
    margin-left: 85px;
    /*尾部链接*/
}

.footlink a {
    font-size: 14px;
}

.footlink li,
.footinfo li,
.foototherinfo li {
    margin-left: 5px;
    /*多个选择器设置相同样式用逗号隔开*/
}

.footinfo {
    border-top: 1px solid #E7ECEF;
    margin-top: 5px;
    padding-top: 5px;
    margin-left: 85px;
    /*尾部的一条分隔线,用border实现*/
}

.footinfo p {
    font-size: 12px;
}

.foototherinfo {
    margin-left: 85px;
}

.foototherinfo p {
    font-size: 12px;
    color: grey;
}
.programmer{
    width:300px;
    height: 300px;
    text-align: center;
    /*侧边栏中的作者介绍*/
}
.programmer img{
    width: 128px;
    height: 128px;
    border-radius: 50%;
    margin-top: 38px;
}
.programmer a{
    font-size: 22px;
}
.programmer label{
    line-height: 44px;
    margin-top: 238px;
    color: orangered;
    font-size: 12px;
    border: 1px solid orangered;
    padding: 2px;
    border-radius: 50px 50px 50px 50px;
    /*line-height设置行高,增加行间距*/
}
.programmer p{
    padding-left: 25px;
    padding-right: 25px;
    font-size: 12px;
    text-align: center;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值