一、CSS基础:
CSS全称:Cascading Style Sheets(层叠样式表)
CSS有几种引入方式
在HTML中引入CSS的方法主要有四种,它们分别是行内式、内嵌式、链接式和导入式。
1.行内式:
行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。
2.内嵌式:
嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:
<head>
<style type="text/css">
...此处写CSS样式
</style>
</head>
缺点是对于一个包含很多网页的网站,在每个网页中使用嵌入式,进行修改样式时非常麻烦。单一网页可以考虑使用嵌入式。
3.导入式:
将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:
<style type="text/css">
@import"mystyle.css"; 此处要注意.css文件的路径
</style>
导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这是导入式固有的一个缺陷。
4.链接式
也是将一个.css文件引入到HTML文件中,但它与导入式不同的是链接式使用HTML规则引入外部CSS文件,它在网页的<head></head>标签对中使用<link>标记来引入外部样式表文件,使用语法如下:
<link href="mystyle.css" rel="stylesheet" type="text/css"/>
使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。
总结:
一般来说,做网站时把样式多写在多个样式表文件中,因此我们先用链接式引入一个总的CSS文件,然后在这个CSS文件中在使用导入式来引入其他的CSS文件。但如果通过JavaScrip来动态引入CSS文件则只能使用链接式
link 和@import 有什么区别?
1、link属于HTML标签,@import属于CSS语句
2、加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁)
3、兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。
4、使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
文件路径:
相对路径:
1、css/a.css 代表css文件夹下的a.css文件
2、./css/a.css 代表当前文件目录下的css文件夹下的a.css 文件
3、b.css 代表当前文件的同级文件b.css文件
4、../imgs/a.png 代表当前文件的上一级文件目录下的同级文件夹imgs下的a.png
绝对路径:
1、/Users/hunger/project/css/a.css 代表文件a.css在内存中的绝对路径
网站路径:
1、/static/css/a.css 代表当前网站路径下的文件夹static下的CSS文件下的a.css文件
2、http://cdn.jirengu.com/kejian1/8-1.png 代表网上的8-1.png图片的网址
如果我想在js.jirengu.com上展示一个图片,需要怎么操作?
选择一张图片上传到服务器网站空间上面,得到图片的网站路径,然后通过img展示例如
html和 css 的书写规范
HTML书写规范:
1、页面的第一行添加标准模式声明 <!DOCTYPE html>
2、代码缩进:tab键设置四个空格(通常在软件右下角设置相应空格大小)
3、html中除了开头的DOC和 'UTF-8'或者head里特殊情况可以大写外,其他都为小写,css类都为小写
4、建议为 html 根元素指定 lang 属性,从而为文档设置正确的语言 lang="zh-CN"
5、与 <link> 标签相比,@import 指令要慢很多,不光增加了额外的请求次数,还会导致不可预料的问题