CSS 基础知识

CSS基础

1. CSS简述

CSS(Cascading Style Sheets) 中文全称为层叠样式表 。他是一种样式表语言用来描述HTML或者是XML文档中的呈现。CSS 描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题。

主线历史

  • 在1990年第一代的HTML的文档被发明时候样式表就以各种形式出现了,不同的浏览器结合了它们各自的样式语言,读者可以使用这些样式语言来调节网页的显示方式。一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该怎样被显示。
  • 1994年哈肯·维姆·莱提出了CSS的最初建议。伯特·波斯(Bert Bos)当时正在设计一个叫做“Argo”的浏览器,他们决定一起合作设计CSS。
  • 哈肯于1994年在芝加哥的一次会议上第一次展示了CSS的建议,1995年他与波斯一起再次展示这个建议。当时W3C刚刚创建,W3C对CSS的发展很感兴趣,它为此组织了一次讨论会。哈肯、波斯和其他一些人(比如微软的托马斯·里尔登)是这个项目的主要技术负责人。1996年底,CSS已经完成。1996年12月CSS要求的第一版本被出版。

2. CSS有几种引入方式?link和@import有什么区别

一般来说CSS的引入方式主要是有4种 分别为一下几种情况

  • 行内式
    主要表现为 :行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。格式如下:

<div style = "width:100px;height:100px;>我是行内样式</div>

  • 嵌入式
    主要表现为: 嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。 缺点是对于一个包含很多网页的网站,在每个网页中使用嵌入式,进行修改样式时非常麻烦。单一网页可以考虑使用嵌入式。格式如下:
<head>

        <style type="text/css">

           ...此处写CSS样式

       </style>

  </head> 
  • 导入式
    主要表现为:一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中。 导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这是导入式固有的一个缺陷。使用的语法如下:
 <style type="text/css">

                @import"mystyle.css"; 此处要注意.css文件的路径

     </style>
  • 链接式
    也是将一个.css文件引入到HTML文件中,但它与导入式不同的是链接式使用HTML规则引入外部CSS文件,它在网页的<head></head>标签对中使用<link>标记来引入外部样式表文件。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。使用语法如下:

<link href="mystyle.css" rel="stylesheet" type="text/css"/>


论述link与@import的区别

因为对于两种方式,究其根源其实都是为了CSS的链接,但是就像写法一样,世界上不可能存在相同的叶子。经过资料查询主要论述的区别有一下几点

  • 老祖宗的差别。
    link属于XHTML标签,而@import完全是CSS提供的一种方式。然而link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。

  • 加载顺序的差别。
    当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候相当明显影响观感体验。

  • 兼容性的差别。
    由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。

  • 使用dom控制样式时的差别。
    当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。

3. 以下这几种文件路径分别用在什么地方,代表什么意思?

路径 意义
css/a.css 当前目录下的css文件夹中的a.css
./css/a.css 当前目录下的css文件夹中的a.css
b.css 当前目录下的b.css文件
../imgs/a.png 上级目录中的imgs 文件夹中的a图片
/Users/hunger/project/css/a.css 本地绝对路径中的a.css文件
/static/css/a.css 网站中也可以使用相对路径
http://cdn.jirengu.com/kejian1/8-1.png 指向其他网站上的图的路径

4. 如果我想在js.jirengu.com上展示一个图片,需要怎么操作?

  • 将图片上传至图床,获取链接,插曲img属性中

  • 上传到服务器内部并用相对路径读取。

5. 列出5条以上html和 css 的书写规范

HTML的书写规范

  • 文档类型声明及编码: 统一为html5声明类型<!DOCTYPE html>; 编码统一为<meta charset=”gbk” />, 书写时利用IDE实现层次分明的缩进。

  • 非特殊情况下样式文件必须外链至<head>…</head>之间;非特殊情况下JavaScript文件必须外链至页面底部。

  • 引入样式文件或JavaScript文件时, 须略去默认类型声明。

  • 引入JS库文件, 文件名须包含库名称及版本号及是否为压缩版, 比如jquery-1.4.1.min.js; 引入插件, 文件名格式为库名称+插件名称, 比如jQuery.cookie.js。

  • 所有编码均遵循xhtml标准, 标签 & 属性 & 属性命名 必须由小写字母及下划线数字组成, 且所有标签必须闭合, 包括 br 等; 属性值必须用双引号包括;


CSS的书写规范

  • 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。

  • 选择器 与 { 之间必须有空格

  • 属性名 与之后的 : 之间不允许包含空格, : 与 属性值 之间必须包含空格。

  • 列表型属性值 书写在单行时,, 后必须跟一个空格。font-family: Arial, sans-serif;

  • 每行不得超过 120 个字符,除非单行不可分割。

  • 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。

6. 截图介绍 chrome 开发者工具的功能区

截图

Elements:查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈。

  • Console:控制台,记录开发者开发过程中的日志信息
  • Sources:主要用于查看web站点的资源列表及javascript代码的debug
  • Network:从发起网页页面请求Request后分析HTTP请求后得到的各个请求资源信息(包括状态、资源类型、大小、所用时间等),可以根据这个进行网络性能优化。
  • Timeline:记录并分析在网站的生命周期内所发生的各类事件,以此可以提高网页的运行时间的性能。
  • Application:记录网站加载的所有资源信息,包括存储数据(Local Storage、Session Storage、IndexedDB、Web SQL、Cookies)、缓存数据、字体、图片、脚本、样式表等。
  • Audits:对当前网页进行网络利用情况、网页性能方面的诊断,并给出一些优化建议。比如列出所有没有用到的CSS文件等
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,737评论 1 92
  • CSS的全称是什么? 英文全称:Cascading Style Sheets中文全称:层叠样式表 CSS有几种引入...
    DCbryant阅读 277评论 0 1
  • CSS概念 动态网页分为脚本语言、支持动态效果的浏览器和CSS样式表三个部分。 样式表是专门描述结构文档表现方式的...
    亮亮叔家的小笔笔阅读 674评论 0 1
  • 1.认识CSS样式CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义H...
    静默丶阅读 5,698评论 30 95
  • 1、CSS的全称是什么? Cascading Style Sheets,层叠样式表。可以用于静态的修饰网页,也可以...
    饥人谷_akira阅读 223评论 0 1