页头、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. 山东省2016acm省赛

    A 水 #include <iostream> #include <cstdio> #include <algorithm> #include <list&g ...

  2. sql-表值函数tvf

    带有参数的视图 create function fn_fenye (@count as int,@page as int) returns table as return select * from ...

  3. android NDK 实用学习(五)-c++端调用java接口

    1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 ...

  4. 【noip2011】Mayan游戏

    题解: 刷了一天的noip啊 做了10题! 突然找回了做马拉松的感觉- - 我中午竟然放弃治疗去看视频 做到晚上累得都快挂了 用电脑放一些rock 把音乐当咖啡硬撑下来 但是还是没能刷3届 唉 显然速 ...

  5. CentOS安装Redis Sentinel HA集群

    安装了很多次,但是每次安装还要翻以前的配置,故列文备忘.下文依赖于2.x版本搭建主从节点实现基于sentinel机制的简单Redis HA(相对高可用Redis集群,真正高可用还要等3.0之后版本). ...

  6. Java之序列流SequenceInputStream

    序列流:作用就是将多个读取流合并成一个读取流,实现数据的合并 序列流表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到文件的末尾,接着从第二个输入流读取,以此类推:这样 ...

  7. Stage3D学习笔记(七):动态纹理

    本章用来作为Starling的滤镜实现原理的一个补充,但是为了了解原理,我们会使用原生API进行编码. 我们知道,当我们调用drawTriangles方法时,我们的图像是绘制到后台缓冲区的,只有调用p ...

  8. LINUX下的简单线程池

    前言 任何一种设计方式的引入都会带来额外的开支,是否使用,取决于能带来多大的好处和能带来多大的坏处,好处与坏处包括程序的性能.代码的可读性.代码的可维护性.程序的开发效率等. 线程池适用场合:任务比较 ...

  9. sass 使用入门教程

    我们都知道,css没有变量,也没有条件语句,在开发过程中,难免有些麻烦,因此有了CSS预处理器(css preprocessor),Sass便是其中之一. 一.什么是Sass Sass (Syntac ...

  10. ModSecurity for Nginx

    Announcing the availability of ModSecurity extension for Nginx ModSecurity for Nginx ModSecurity for ...