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. Codeforces Round #355 (Div. 2)

    A 弯腰 #include<cstdio> #include<cstring> #include<iostream> #include<queue> # ...

  2. android NDK 实用学习(四)-类缓存

    1,为什么需要类缓存: 答:由于频繁的查找类及类成员变量需要很大的时间与空间开销,可参考如下文章: http://www.ibm.com/developerworks/cn/java/j-jni/ h ...

  3. hdoj 2050 折线分割平面

    折线分割平面 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  4. web开发工具类

    1.日期工具类 import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { public sta ...

  5. oscgit

    Gitlab PaaS项目演示 git config --global user.name "你的名字或昵称" git config --global user.email &qu ...

  6. MySQL数据库备份还原(基于binlog的增量备份)

    MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份      增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...

  7. 画表格防OFFICE的功能

    http://files.cnblogs.com/xe2011/officetable.rar 画表格防OFFICE的功能

  8. 使用Zipalign工具优化Android APK应用记录

    生成的Android应用APK文件最好进行优化,因为APK包的本质是一个zip压缩文档,经过优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗.我们可以使用Zipalign工具进行A ...

  9. iOS开发——UI篇OC篇&UIStackView详解

    UIStackView详解 一.继承关系.遵守协议.隶属框架及可用平台 UIStackView 类提供了一个高效的接口用于平铺一行或一列的视图组合.Stack视图使你依靠自动布局的能力,创建用户接口使 ...

  10. hibernate uniqueResult方法

    假设查询返回多个值用list()方法 public void testQuery(){ Configuration config = new Configuration().configure(); ...