zoukankan      html  css  js  c++  java
  • 常规流练习

    CSS 中不为人知的部分

    https://madebymike.com.au/writing/the-invisible-parts-of-CSS/

    如果你在日常工作中使用 CSS,你的主要目标可能会重点围绕着使事情“看起来正确”。如何实现这一点经常是远不如最终结果那么重要。这意味着比起正确的语法和视觉结果来说,我们更少关心 CSS 的工作原理。

    CSS 的视觉结果通常是操作隐藏属性的间接后果,你可能还没有意识到这一点。某些 CSS 属性(比如 background-color)与你看到的内容有直接而明显的关系。同时,其它像 display 这样的属性对于我们很多人来说仍然是模棱两可的,因为结果似乎与上下文环境有很大关系。

    渲染过程概述

    当加载一个 HTML 文档时,为了让该页面渲染,有很多事情要发生。

    第一个步骤就是解析 HTML 文档。浏览器从这一步创建一个文档树。树状结构是表示像 HTML 这种具有明显层次结构信息的一种方法。树中的元素可以被描述为类似于族谱,比如祖先、父亲、孩子和兄弟姐妹。

    你可能听说过术语 DOM。它代表文档对象模型(Document Object Model)。这是文档树结构的一种扩展,被用于存储和操作 Web 文档内容有关的信息。

    随着 HTML 被解析,样式表和其它资源也被获取。样式声明通过一个称为层叠的过程来解释和确定。

    层叠

    层叠可能是最被误解的 CSS 特性之一。它是指组合不同样式表以及解决 CSS 选择器之间冲突的过程。

    层叠查看声明的重要性、来源、特殊性以及顺序,来确定使用哪个样式规则。

    大多数网站有多个样式表。通常,样式是用引用一个 CSS 文件的一个 link 标记,或者 HTML 主体部分的 style 标记添加的。即使最基础的页面也会有浏览器提供的默认样式。这种默认样式表有时被称为 user-agent 样式表。

    盒模型

    理解盒模型是布局和定位时防止挫败所必需的。盒模型是 CSS 中最基本的概念之一。

    盒模型用于计算元素的宽度和高度。它只是计算过程中的一个步骤,确定元素的最终布局和定位并非完全依赖于它。

    HTML 中的每个元素都是一个矩形的盒子。每个盒子有用元素的外边距(margin)、边框(border)、内边距(padding)和内容区定义的四个区域。

    默认情况下,当我们设置一个元素的宽度时,只是设置内容区的宽度。当给一个元素添加内边距、边框或者外边距时,是增加了除宽度以外的部分。实际上,这就是说宽度为 50% 的两个元素如果添加了内边距、外边距或者边框,就不会并排填满宽度(因为已经超过了 100% 宽度)。

    就是这样!相当简单对吧?那么为什么这经常是困惑的来源呢?好吧,你可能已经遇到过一些事情好像表现得有点不同的情况。。。

    css代码:

    body{
        width: 100%;
        background-color: #4d4a40;
    }
    div
    {
        line-height: 2;
        width: 90%;
        margin: 20px auto;
        background-color: #ffffff;
        padding-top: 30px;
    }
    article
    {
        width: 90%;
        margin: 0 auto;
    }
    header
    {
        text-align: center;
        padding-bottom: 30px;
        background-color: #267890;
        border: 5px solid #14414e;
        margin:0 -34px 30px;
    }
    header>h1
    {
        font-size: 42px;
        color: #ffffff;
    }
    header>a:link
    {
       color: #DBDBDB;
    }
    header>a:hover
    {
       color: #ffffff;
    }
    h2
    {
        font-size: 32px;
        border-top: 1px dashed #76746c;
        border-bottom: 1px dashed #76746c;
    }
  • 相关阅读:
    深入理解javascript中的立即执行函数(function(){…})()
    多行文本溢出省略号显示
    JS学习思路
    canvas画圆
    软件需求与软件评估
    parawork功能使用说明
    ”0元中标的商业逻辑“ -- 如何更好防范项目风险(北京软件造价评估技术创新联盟:李培圣)
    parawork平台介绍
    基准化的软件绩效和成本度量
    jQuery对表格的操作及其他应用
  • 原文地址:https://www.cnblogs.com/cj-18/p/8906502.html
Copyright © 2011-2022 走看看