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. HDU 4283 You Are the One (12年天津 区间DP)

    题意:有一个队列,每个人有一个愤怒值a[i],如果他是第k个上场,不开心指数就为(k-1)*a[i].但是边上有一个小黑屋(其实就是个堆栈),可以一定程度上调整上场程序 思路:枚举区间和每个人第几个上 ...

  2. Timeout Detection & Recovery (TDR)

    Timeout Detection & Recovery (TDR) NVIDIA® Nsight™ Development Platform, Visual Studio Edition 2 ...

  3. 安装禅道项目管理软件ZenTaoPMS

    服务器Ubuntu 13.04 且安装了上一篇随笔中的 AMP本文略去安装AMP过程.版本号满足要求(php>5.2 and mysql.2) 1.官网http://www.zentao.net ...

  4. 关于 Java Collections API 您不知道的 5 件事,第 1 部分

    定制和扩展 Java Collections Java™ Collections API 远不止是数组的替代品,虽然一开始这样用也不错.Ted Neward 提供了关于用 Collections 做更 ...

  5. 电脑突然死机,系统日志记录事件ID=6008

    刚才正在写代码,在一次保存之后,正要刷新看下效果,电脑突然关机,没有任何提示或延迟.我的笔记本电池是一直插上的,也连接着电源. 重新开机之后,找到系统日志查看.只有这一条错误记录:非正常关机,事件60 ...

  6. Google Android官方文档进程与线程(Processes and Threads)翻译

    android的多线程在开发中已经有使用过了,想再系统地学习一下,找到了android的官方文档,介绍进程与线程的介绍,试着翻译一下. 原文地址:http://developer.android.co ...

  7. 我用的Linux命令

    从今天起,会在这里记一些我使用过的linux命令 =======I'm 分割线======= 11.查看某个端口号被哪个应用占用 netstat -apn|grep 端口号,lsof -i:端口号,n ...

  8. elecworks中“插入点”的意思

    elecworks中自建符号时,”插入点“的用法: 插入点的作用是:建好的符号加入符号库后,从库里调用符号到原理图中时“插入点”就是符号的中心点---鼠标光标拖动的点. (插入点即为符号调出 时插入图 ...

  9. 用Modelsim仿真QuartusII综合后网表时库的添加方法(转)

    这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法.说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨.把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博 ...

  10. yii2 i18n学习

    举例说明常见的翻译:Yii::t('app','Login'):追踪源码:BaseYii.php 文件 ,Yii::t($category, $message, $params = [], $lang ...