1.根据功能,把不同的部分写出来,方便扩展

<div class="content"><!-- 内容开始 -->
  <section class="green-section">
    <div class="wrapper">
      <h2>一个标题</h2>
      <div class="hr"></div>
      <p class="sub-heading">Lorem ipsum dolor sit amet, consectetur adipisicing elit, laborum.</p>
    </div>
    <div class="icon-group">
      <span class="icon" >item1</span>
      <span class="icon" >item1</span>
      <span class="icon" >item1</span>
    </div>
  </section>
  <section class="gray-section">
    <div class="article-preview">
      <div class="img-section">
        <img src="data:images/pic01.jpg" alt="">
      </div>
      <div class="text-section">
        <h2>又一个标题</h2>
        <div class="sub-heading">
          我是副标题
        </div>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, laborum.</p>
      </div>
    </div>
    <div class="article-preview">
      <div class="img-section">
        <img src="data:images/pic01.jpg" alt="">
      </div>
      <div class="text-section">
        <h2>又一个标题</h2>
        <div class="sub-heading">
          我是副标题
        </div>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, laborum.</p>
      </div>
    </div>

  </section>

2.一旦子元素浮动,父元素就会探索到一个合适的值,现在的值就是0,需要进行清除浮动操作。

常用的清除浮动方法:

.article-preview:after {

  content:"";

  display:block;

  height:0;

  visibility:hidden;

  clear:both;

}

.article-preview{*zoom:1;}

还有可以写成这样:

.article-preview:after {

  content:"\200B";/*Unicode字符里有一个“零宽度空格”,也就是U+200B,它本身是不可见的,所以可以省略掉 visibility:hidden */

  display:block;

  height:0;

  clear:both;

}

.article-preview{*zoom:1;}

另一种最新式方法:

.clearfix{
    overflow: auto;
    *room: 1;  //支持IE6
}
还有一种:

.article-preview:before,.article-preview:after {

  content:"";

  display:table;

}

.article-preview:after { clear:both; }/* For IE 6/7  */

.article-preview{*zoom:1;}

3.有时候两个模块之间会出现小缝隙,很可能是字体导致。在最外层加一个font-size: 0;进行处理。

4.每个元素里的内容,随着窗口变化,该元素扩大或缩小的时候,进行自适应。

.text-section > div{
  word-wrap: break-word;  /*允许对长的不可分割的单词进行分割并换行到下一行*/
  word-break: break-all;  /*规定非中文的换行规则,允许内容自动在单词内换行*/
  overflow: hidden;  /*超出的内容隐藏*/
  text-overflow: ellipsis;  /*超出的内容显示省略符号,clip直接修剪文本,string使用给定的字符串代表被修剪的文本*/
}

5.purple-section布局

<section class="purple-section">
  <div class="heading-wrapper">
    <h2>标题标题标题</h2>
    <div class="hr"></div>
    <div class="sub-heading">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod luptate velit esse
        cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
        proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
  </div>
  <div class="card-group">
    <div class="card"></div>
    <div class="card"></div>
  </div>
</section>

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

  1. css扁平化博客学习总结(三)header代码实现

    页头.banner.正文.页脚的宏观布局 1.布局顺序的重要性: 由大到小,着眼最大的部分,慢慢细分. <body> <header><!-- 页头开始 --> & ...

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

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

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

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

  4. Django 系列博客(十四)

    Django 系列博客(十四) 前言 本篇博客介绍在 html 中使用 ajax 与后台进行数据交互. 什么是 ajax ajax(Asynchronous Javascript And XML)翻译 ...

  5. FPGA一个博客学习

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

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

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

  7. 做个开源博客学习Vite2 + Vue3 (四)实现博客功能

    我们再来看一下管理类的设计. Composition API,就是组合API的意思,那么是不是应该把js代码分离出来,做成独立的管理类的形式呢? 这样代码可以更整洁一些,主要是setup里面的代码就不 ...

  8. 【干货】利用MVC5+EF6搭建博客系统(四)(下)前后台布局实现、发布博客以及展示

    二.博客系统后台布局实现 2.1.这里所用的是MVC的布局页来实现的,后台主要分为三部分:导航.菜单.主要内容 代码实现: 这里把后台单独放在一个区域里面,所以我这里建立一个admin的区域 在布局页 ...

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

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

随机推荐

  1. new和delete为什么要匹配

    operator new和operator delete函数有两个重载版本: void* operator new (size_t); // allocate an object void* oper ...

  2. SQL注入攻击及防范

    一.什么是SQL注入1.SQL注入的定义     SQL注入(SQL Injection) 利用了程序中的SQL的漏洞,进行攻击的方法. 2.SQL注入举例  1)利用SQL语法错误获取数据库表的结构 ...

  3. 开启sa账户以及如何用JDBC进行连接

    做实验需要用Java与SQL Server连接,因为使用的 SQL 2008 Express Edition 是基于 Visual Studio2010 安装包安装时一起安装的,所以为了方便数据库的操 ...

  4. leetcode@ [129] Sum Root to Leaf Numbers (DFS)

    https://leetcode.com/problems/sum-root-to-leaf-numbers/ Given a binary tree containing digits from 0 ...

  5. Java网络编程(TCP服务端)

    /* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...

  6. Dijkstra in python

    下面是一段由python实现的Dijkstra算法,一些地方的处理实在非常棒,相比于C,代码的数量已经缩减到了60行,所以我想通过本文简单的介绍一下这段代码的细节之处,首先给出源程序: from sy ...

  7. .NET ORM框架(一)

    最近做项目自己整理了一个ORM框架,分享给大家看看,有很多不足望大家指出. 下面是使用方法 BLL 主要方法 逻辑层:子类继承父类, 直接用BASE调用 ManagerBLL 中的方法. public ...

  8. C++ 外部调用private方法

    1.思考,对于C++,能不能在外部调用私有方法? 2.在Java中,子类继承不能缩小父类成员的访问权限.因为在Java中,继承只是表示Is-A关系,因此,父类提供的接口,子类必须承诺仍然提供,不能缩小 ...

  9. VS2012的SVN插件VISUALSVN

    http://www.visualsvn.com/visualsvn/download/

  10. hdu 5446 Unknown Treasure lucas和CRT

    Unknown Treasure Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?p ...