美文网首页读书整理知识
CSS世界-流的理解

CSS世界-流的理解

作者: 菠菜火锅 | 来源:发表于2019-01-29 22:05 被阅读8次

今天看完了这本书的第三章——流、元素与基本尺寸, 对CSS有了很奇妙的体会, 原来CSS的体系是这么奇妙, 单单一个width这个属性就有这么多道道. 这一节我对'流'的概念进行一次梳理.

该书作者张鑫旭对CSS的解释是,‘流’也就是文档流,我想大家都知道一个页面就是一个文档,浏览器通过文档来对液界面进行渲染,让我们可以看到页面。而组成文档的是各式各样的代码,而web就是由标签和js代码构成的。标签存活在流中。作者以width作为第一个描述‘流’存在的载体。

举书中的一个例子来讲(这本书里面的干货太多了啦~看得我有点冲晕了头脑),作者提到了他的‘鑫三无准则’:

无宽度,无图片,无浮动

目前我只知道其中的‘无宽度’是为什么,width十分能体现流的存在,而我们也可以通过‘无宽度’来实现一定程度上的自适应(个人理解)。

 CSS:
.width {
  width: 100%;
}

.nav {
  width: 100px;
  background-color: #cd0000;
}
.nav-a {
  display: block;
  margin: 0 10px;
  padding: 9px 10px;
  border-bottom: 1px solid #b70000;
  border-top: 1px solid #de3636;
  color: #fff;
}
.nav-a:first-child { border-top: 0; }
.nav-a + .nav-a + .nav-a { border-bottom: 0;}
HTML:
<div class="box">
    <h4>无宽度,借助流动性</h4>
    <div class="nav">
      <a href="" class="nav-a">导航1</a>
      <a href="" class="nav-a">导航2</a>
      <a href="" class="nav-a">导航3</a>
    </div>
    <h4>width:100%</h4>
    <div class="nav">
      <a href="" class="nav-a width">导航1</a>
      <a href="" class="nav-a width">导航2</a>
      <a href="" class="nav-a width">导航3</a>
    </div>
</div>
无宽度
width:100%

可以看到没有设置宽度的,.nav-a总宽度为80,而width:100%总宽度为120,虽然在一开始就知道他们宽度不一样,那么为什么宽度一个是80,一个是120呢?具体是怎么计算的呢?在这一章里面作者也为我们讲解了。

width在默认display:block下直接作用在content-box上,也就是图片中蓝色的区域。

width:100%的盒子结构

之后再加上padding:9px 10px中的左右10px,加起来就是100+20=120 这样子,.nav-a .width最后的宽度就是120,而其中的100来自.navwidth:100%的宽度来源自父容器,父容器.nav宽度为100px,所以使用了width:100%的盒子也是width:100px

可以看到如果不给width设值,就可以充分利用其流动性,实现自适应,而后者因为设置了width:100%继承了父容器的宽度,使得线长度超出容器。

相关文章

  • CSS世界-流的理解

    今天看完了这本书的第三章——流、元素与基本尺寸, 对CSS有了很奇妙的体会, 原来CSS的体系是这么奇妙, 单单一...

  • 第四天:css学习(思路)目标

    作者:小疯子日期:2016/6/10 理解css的基本语法。 理解盒子模型。 理解文档流和定位。 理解浮动和清除。...

  • CSS布局总结

    关于文档流 理解好文档流,有助于我们对css中定位和浮动的理解。什么是文档流呢,经过我看过的一些文章,加入自己的理...

  • 01|CSS世界

    01|CSS世界的世界观 将抽象的CSS直接和具体的现实世界相对应,更加易于理解,与此同时,理解魔法师和魔法石比理...

  • 小程序坐标 position盒位置 和 display盒内布局

    CSS 理解 margin 与 padding position位置:默认值static,正常流显示 其他几种样式...

  • CSS-BLOCK,总结常用样式块和技巧

    文档地址 初衷 Css Block 启发于前不久阅读的张鑫旭的《CSS世界》一书,让我对 css 又有了新的理解,...

  • CSS世界-包裹性的理解

    包裹性 包裹性是对"shrink-to-fit"的一个形象表示,具有包裹和自适应两种表现. CSS样式: 可以很明...

  • HTMLCSS学习笔记(七)-- 定位与锚点

    CSS文档流 CSS 有三种基本的定位机制:普通流、浮动流、定位流 POSTION position定位属性,检索...

  • CSS布局

    CSS入门(3) CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+...

  • CSS文章收藏

    CSS CSS中强大的EM你真的理解CSS的linear-gradient?深入理解 flex 布局以及计算使用C...

网友评论

    本文标题:CSS世界-流的理解

    本文链接:https://www.haomeiwen.com/subject/mtyfsqtx.html