页头、banner、正文、页脚的宏观布局

1.布局顺序的重要性:

由大到小,着眼最大的部分,慢慢细分。

<body>
<header><!-- 页头开始 -->
  <nav></nav>
  <div id="banner"></div>
</header><!-- 页头结束 -->
<div class="content"><!-- 内容开始 -->
</div><!-- 内容结束 -->
<footer><!-- 页脚开始 -->
</footer><!-- 页脚结束 -->
</body>

2.css用外部文件方式引入

一个页面写多个css完全不必要,浏览器都是直接首位相接解析,分多个文件和1个文件效果是相同的。

2个之内最好。

注:分成太多css文件,会加大服务器请求数,请求数越多,响应就会越慢。

3.加入css,进行初始布局

nav{
background: #ccc;
height: 50px;
}
#banner{
background: #777;
height: 700px;
}

4.设计nav,加上css效果。此时不进行阴影之类的细节处理,先完成下面的布局。

<nav>
  <ul>
    <li class="logo"><a href="#">leo</a></li>
    <li><a href="#">简历</a></li>
    <li><a href="#">作品</a></li>
    <li><a href="#">文章</a></li>
    <li><a href="#">首页</a></li>
  </ul>
</nav>

css代码:

nav ul{
list-style: none;
margin: 0;
}
nav ul li{
display: inline-block;
line-height: 50px;
float: right;
margin-right: 20px;
}
nav ul li a{
line-height: 50px;
text-decoration: none;
display: inline-block;
height: inherit;

}
nav ul li.logo{
float: left;
}

5.设计banner,给页面所以button设定统一样式,然后给banner页面定制特定的按钮,不深入细节,继续往下布局。

<div id="banner">
  <div class="inner">
    <h1>leo</h1>
    <p class="sub-heading">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor iididunt ut     labore et dolore magna aliqua. Ut enim ad min.</p>
    <button>养我</button>
    <div class="more">
      更多
    </div>
  </div>
</div>

css代码:

#banner .inner{
  max-width: 300px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  top: 160px;
}
#banner .inner h1{
  margin: 0;
}
button{
  border: none;
  background-color: #333;
  color: #eee;
  padding: 10px;
}
#banner button{
  padding: 14px 40px;
}
#banner .inner .more{
  margin-top: 245px;
}
.sub-heading{
  line-height: 30px;
  margin: 20px;
}

6.回头查看header,进行优化,优化了nav下的logo展示

header完整HTML代码:

<header><!-- 页头开始 -->
  <nav>
    <div class="logo"><a href="#">leo</a></div>
    <ul>
      <li><a href="#" class="active">简历</a></li>
      <li><a href="#">作品</a></li>
      <li><a href="#">文章</a></li>
      <li><a href="#">首页</a></li>
    </ul>
  </nav>
  <div id="banner">
    <div class="inner">
      <h1>leo</h1>
      <p class="sub-heading">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor       iididunt.</p>
      <button>点我</button>
      <div class="more">
         更多
      </div>
    </div>
  </div>
</header><!-- 页头结束 -->

header完整CSS代码:

nav{
background: #ccc;
height: 50px;
}
#banner{
background: #777;
height: 700px;
}
nav ul{
list-style: none;
margin: 0;
float: right;
}
nav ul li , nav .logo{
display: inline-block;
line-height: 50px;
margin-right: 20px;
}
nav ul li a{
line-height: 50px;
text-decoration: none;
display: inline-block;
height: inherit;
color: #fff;
}
nav ul li.logo{
float: left;
}
#banner .inner{
max-width: 300px;
text-align: center;
margin: 0 auto;
position: relative;
top: 160px;
}
#banner .inner h1{
margin: 0;
}
button{
border: none;
background-color: #333;
color: #eee;
padding: 10px;
}
#banner button{
padding: 14px 40px;
}
#banner .inner .more{
margin-top: 280px;
}
.sub-heading{
line-height: 30px;
margin: 20px;
}
.logo{
font-size: 20px;
font-weight: 700;
letter-spacing: 1px;
}
.logo a{
color: #fff;
text-decoration: none;
padding: 10px;
}

css扁平化博客学习总结(三)header代码实现的更多相关文章

  1. css扁平化博客学习总结(二)css样式重置

    css样式重置 方法一:不推荐使用,这么写会让网页解析速度变慢. *{ margin: 0; padding: 0;} 方法二:大家常用的写法,比较流行. body, html, div, block ...

  2. css扁平化博客学习总结(一)模块分析

    一.模块分析 1.每开发一个项目之前,首先要对项目进行一个大致规划,它到底要做什么功能,它有什么具体需求. 2.所以需要进行模块化分析,把这些东西具象化,把一个问题模块化,对需求有一个宏观的了解. 3 ...

  3. css扁平化博客学习总结(四)content代码实现

    1.根据功能,把不同的部分写出来,方便扩展 <div class="content"><!-- 内容开始 --> <section class=&qu ...

  4. FPGA一个博客学习

    FPGA一个博客学习 http://bbs.ednchina.com/BLOG_PERSONALCAT_100185_2001619.HTM

  5. HelloDjango 第 09 篇:让博客支持 Markdown 语法和代码高亮

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 为了让博客文章具有良好的排版,显示更加丰富的格式,我们使用 Markdown 语法来书 ...

  6. 做个开源博客学习Vite2 + Vue3 (三)博客设计和代码设计

    项目搭建好了之后是不是可以编码了呢? 等等不要着急,我们是不是应该先设计一下?比如博客的功能等? 博客设计 先做个简单的个人博客,因为是个人版,所以可以省略注册.登录这些功能,表结构也可以简单一点. ...

  7. python+selenium之悠悠博客学习笔记

    1 Python之自动化测试框架selenium学习 offical website 悠悠之selenium浅谈·博客园 悠悠软件测试系列 1.1 基础环境准备 1.1.1 python包下载工具的安 ...

  8. 做个开源博客学习Vite2 + Vue3 (一)搭建项目

    前言 不会 webpack,遇到报错就一头雾水,完全不知道怎么办,而且体积还大速度还慢. 所以尤雨溪做了 vite 后就很向往,只是知道自己水平有限还是等大佬先趟趟坑,等差不多了在跳. 现在vite2 ...

  9. css大牛的博客

    一个不能再牛的个人简历,请用pc观看:http://strml.net/ 用css来画圆http://jingyan.baidu.com/article/c910274be4dd69cd371d2d4 ...

随机推荐

  1. uvalive 4992 Jungle Outpost

    题意:一个凸边型,目标在凸边型内且最优.问最多删除几个点使目标暴露在新凸边型外面. 思路:二分+半平面相交. #include<cstdio> #include<cmath> ...

  2. Python引用传值总结

    Python函数的参数传值使用的是引用传值,也就是说传的是参数的内存地址值,因此在函数中改变参数的值,函数外也会改变. 这里需要注意的是如果传的参数类型是不可改变的,如String类型.元组类型,函数 ...

  3. CentOS 6.5 安装配置VSFTP

    1.下载安装VSFTP 首先查看当前系统是否已经安装VSFTP,若未安装则使用yum安装. chkconfig --list | grep vsftpd #查看是否安装 yum install vsf ...

  4. Integer的缓存机制

    Java api 中为了提高效率,减少资源的浪费,对内部的Integer类进行了缓存的优化,通俗的说就是把-127至128这个范围内的数提前加载到内存,当我们需要的时候,如果正好在这个范围之内,就会直 ...

  5. C# & SQLite - Storing Images

      Download source code - 755 KB Introduction This article is to demonstrate how to load images into ...

  6. PHP strlen() 函数

    定义和用法 strlen() 函数返回字符串的长度. 语法 strlen(string) 参数 描述 string 必需.规定要检查的字符串. 例子 <?php echo strlen(&quo ...

  7. URL是否有效

    unit Unit1;interfaceuses    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...

  8. c# 调用 c++写的DLL

    http://www.cnblogs.com/MarsPanda/archive/2012/09/03/2668522.html 解决办法 安装 vcredist 运行库 或者用VC6.0编写DLL ...

  9. Android Sqlite 导入CSV文件 .

    http://blog.csdn.net/johnnycode/article/details/7413111 今天遇到 Oracle 导出的12万条CSV格式数据导入 Android Sqlite ...

  10. Java + MongoDB Hello World Example--转载

    原文地址:http://www.mkyong.com/mongodb/java-mongodb-hello-world-example/ A simple Java + MongoDB hello w ...