重拾css(3)——学习css的思路

青毛狮子
• 阅读 2372

众所周知,css的运行环境是浏览器,那么我们有必要先来认识下浏览器。

1.浏览器是怎样工作的

有篇文章叫《浏览器的工作原理:新式网络浏览器幕后揭秘》,文中言简意赅的介绍了浏览器的工作过程,我们先将css拎出来说说。

重拾css(3)——学习css的思路

上图是webkit内核渲染html和css的流程图。大家可以从图中看到,html的解析是一条线,css的解析是一条线,两者会在某一点结合,形成最终的视图。

如果我们以CSS为重点看,从上图中我们可以总结出学习CSS的三个突破点。

  1. 浏览器如何加载和解析CSS——CSS的5个来源;

  2. CSS和html如何结合起来——选择器;

  3. CSS能控制哪些显示方式——盒子模式、浮动、定位、背景、字体等;

本系列文章也是按照这个思路和框架,一步一步展开的。

2.css的加载过程

css(Cascading Style Sheets)即层叠样式表。“样式表”大家比较好理解,那何为“层叠”呢?从字面意思来看,层叠肯定是需要多层叠加起来。而这个“多层CSS”到底有几层,每一层是什么,我们程序猿用到的将是哪些层?这几个问题将是我们讨论的重点。

另外,这么多层次叠加,如果出现冲突怎么处理,以哪个为准?这也是我们讨论的重点。

最后,在这些层次中有一个“浏览器默认样式”层,即浏览器默认的各个html元素的样式。这次我们向浏览器这位“机器人”学习一下,看看它写出来的css能给我们什么帮助。

3.css与html的结合

CSS如何与html结合呢——当然是通过选择器。CSS提供了多种多样的选择器类型,而且每个级别都在不断的增加新的选择器类型,使得选择器更加灵活易用。本系列将拿出一篇文章专门讲解选择器。

聪明的人类也通过css提供的选择器在其他临近的方面开疆拓土,例如jquery,zen-coding。

对css选择器来说,有一个很重要的话题——级别。在大部分web前端面试题中,你都会看到css选择器级别的判断问题。《css设计指南》书中给出了一个概念——特指度,而且给出了计算公式和计算规则,还给出了一个简单的背诵口诀。想的真周到。

最后,与选择器关联密切的还有伪类和伪元素,我们也将拿出一篇文章专门讲解伪类和伪元素,以及它们最典型的用法。

4.页面呈现

页面呈现可以分为两类——文字,块。

  1. 针对文字来说,我们可以设置字体、字号、加粗、斜体、背景色等等;

  2. 对于块来说情况比较多,有盒子模型、浮动、定位、display、背景等;

本系列会拿出很大的篇幅去讲解其中的基础知识,以及他们的一些重点应用。

5.布局

布局是css的重头戏,每个系统的布局都有其各自的特点。无好无坏,肯定是各有优缺点,不妨拿出几个比较典型的例子来一起分析一下。例如:

  • 经典三列布局

  • Bootstrap栅格布局

  • 百度首页布局

  • 微博布局

  • 人人网布局

  • 瀑布流布局

  • ... ...

点赞
收藏
评论区
推荐文章
徐小夕 徐小夕
3年前
前端: 如何更高效的学习Css? 有哪些库值得推荐?
之前有很多朋友问我如何快速学习css以及有哪些好用的css库,最近也抽出时间思考整理了一下,今天就和大家分享一下我的经验.如何高效学习Css之前在工作中也使用css做过很多有意思的事情,比如用css画图标,写轮播图,写动效,做布局等等,但是这些应用的实现都依赖于html和css基础知识.根据我自己的学习经验,我们需要掌
Souleigh ✨ Souleigh ✨
4年前
如何提高CSS性能
结合现代网站的复杂性和浏览器处理CSS的方式,即使是适量的CSS也会成为设备受限、网络延迟、带宽或数据限制的瓶颈。因为性能是用户体验的一个至关重要的部分,所以必须确保在各种形状和尺寸的设备上提供一致的高质量体验,这也需要优化你的CSS。本篇文章将涵盖CSS会导致哪些性能问题,以及如何制作不妨碍人们使用的CSS的最佳实践。目录CSS是如何工作的?
九路 九路
4年前
一篇文章带你了解CSS 渐变知识
CSS3渐变使您能够是你的背景颜色在两个或多个颜色之间平滑过渡。早些时候,你必须使用图像实现这些效果。然而,通过使用CSS3渐变可以减少下载时间和带宽的使用.此外,缩放的元素在缩放时看起来更好,因为渐变是由浏览器生成的。一、浏览器支持表中的数字指定完全支持该属性的第一个浏览器版本。(来源于百度)数字后面的w
秃头王路飞 秃头王路飞
3年前
浏览器工作原理
浏览器渲染过程浏览器渲染1.解析HTML文件,构建DOM树,同时浏览器主进程负责下载CSS文件2.CSS文件下载完成,解析CSS文件成树形的数据结构,然后结合DOM树合并成RenderObject树3.布局RenderObject树(Layout/reflow),负责RenderObject树中的元素的尺寸,位置等计算4.绘制RenderObject树(paint),绘制页面的像素信息5.浏览器主进程将默认的图层和复合图层交给GPU进程,GPU进
菜园前端 菜园前端
2年前
你真的了解的CSS3盒模型和CSS3特性知识吗
原文链接:什么是CSS3?CSS3是CSS一个新的标准,直接理解为是CSS的升级版,里面新增了很多样式(特性)。CSS3盒子模型:::warningCSS3盒子模型必须要掌握,否则你在实际开发中遇到样式错乱很难排查问题。:::旧版的IE浏览器与其它浏览器解
Stella981 Stella981
3年前
CSS兼容性(IE和Firefox)技巧大全
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理技巧并整理了一下。对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE影响CSS处理,作为W3C的标准,一定要加DOCTYPE声明。CSS技巧1.div的垂直居中问题verti
Wesley13 Wesley13
3年前
CSS背景颜色渐变
兼容多浏览器就要为每一个浏览器写对应的 CSS,太低版本的浏览器只能使用图片做背景。下面是当前五大浏览器对 gradient 的支持<style type"text/css" media"screen"gradient {width: 200px;height: 200px;/\ 如果浏览器不支持渐变,使用图像作为背景 \
Wesley13 Wesley13
3年前
CSS开发过程中的20个快速提升技巧
摘要:本文涵盖了20个CSS技巧,可以解决许多工作中常见的问题,让你也成为一个CSS高手。1、使用CSS重置(reset)css重置库如normalize.css已经被使用很多年了,它们可以为你的网站样式提供一个比较清晰的标准,来确保跨浏览器之间的一致性。大多数项目并不需要这些库包含的所有规则,可以
Wesley13 Wesley13
3年前
CSS基本用法介绍
CSS介绍css定义如何显示HTML元素.当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染).CSS语法css实列每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。css注释/这是注释/CSS的几种引入方
Wesley13 Wesley13
3年前
HTML其他概念
(一)WEB初识【1】浏览器五大主流浏览器开发团队或浏览器内核简称CSS3特定属性(新属性加前缀)Chromewebkit\webkittransformSafariwebkitIEmsFirefoxmozOperao浏览器内核(渲染内核和js内核,前者渲染代码,计算显示方式,进而读取
Wesley13 Wesley13
3年前
CSS3 文本效果
CSS3文本效果CSS3中包含几个新的文本特征。在本章中您将了解以下文本属性:textshadowwordwrap浏览器支持!(http://static.oschina.net/uploads/space/2016/0123/124344_Ps