CSS的全称是什么?
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
CSS有几种引入方式? link 和@import 有什么区别?
- 使用HTML标签的STYLE属性
将STYLE属性直接加在单个的HTML元素标签上,控制HTML标签的表现样式。这种引入CSS的方式是分散灵活方便,但缺乏整体性和规划性,不利于后期的修改和维护,当需要修改网站的样式时,一个相同的修改可能涉及多个地方,维护成本高。使用STYLE属性的样式效果最强,会覆盖掉其它几种引入方式的相同样式效果。 - 将样式代码写在页面<STYLE>...</STYLE>标签之中
<STYLE>...</STYLE>结构可以位于页面<HTML>标签中的任何位置,也可以多次出现。通常是将整个<STYLE>...</STYLE>结构写在页面的<HEAD>...</HEAD>部分中。这种引入CSS方式的特点是每个页面的CSS代码可能具有统一性和规划性,一个页面内部便于复用和维护,但多个页面之间的CSS代码复用仍然不够。 - 使用 LINK标签,引入外部CSS文件
将css代码写在一个单独的文件中,用link标签直接引入该文件到页面中。一个页面可以多次使用LINK标签引入多个外部css文件,注意这些CSS代码的相互影响,通常是后引入的CSS文件会覆盖前面引入的CSS文件的相同效果。这种引入CSS的方式是目前最为流行的,可以在站个网站范围内进行CSS代码的规划,方便复用和维护,但这样将代码高度集中,代码量可能过大,维护不当的话又容易出现混乱。 - 使用@import引入CSS文件
使用@import引入CSS文件有两种方式,一种可以放在页面中的<STYLE>...</STYLE> 中,用法如下:
@import url(index2.css);
另外也可以放在CSS文件中使用,用法如下:
@import "sub.css";
使用用@import引入CSS可以很方便的引入外部文件的CSS代码,方便维护和规划。但是每多引入一个CSS文件,就会对服务器增加一次连接请求,当访问量较大时,需在维护性和性能上进行权衡。
本质上,这两种方式都是为了加载[CSS]文件,但还是存在着细微的差别
区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
区别4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。
以下这几种文件路径分别用在什么地方,代表什么意思?
- css/a.css
当前目录下css文件夹下的a.css文件 - ./css/a.css
同上 - b.css
当前目录下的b.css文件 - ../imgs/a.png
上级目录下imgs文件夹下的a.png文件 - /Users/hunger/project/css/a.css
本地绝对目录下/Users/hunger/project/css/的a.css文件 - /static/css/a.css
网络绝对目录下的a.css文件 -
http://cdn.jirengu.com/kejian1/8-1.png
在网络上8-1.png的网络地址
如果我想在js.jirengu.com上展示一个图片,需要怎么操作?
- 如果图片在网络上,可以通过
<img src="">
的方式使用。 - 可以将图片上传到服务器,然后使用。
列出5条以上html和 css 的书写规范
代码风格
- 缩进
[强制] 使用 4 个空格
做为一个缩进层级,不允许使用 2 个空格
或tab
字符。
示例:
.selector {
margin: 0;
padding: 0;
}
- 空格
[强制]选择器
与{
之间必须包含空格。
示例:
.selector {
}
[强制]` 属性名`与之后的 `:`之间不允许包含空格,` :`与`属性值`之间必须包含空格。
示例:
margin: 0;
[强制] `列表型属性值`书写在单行时,`,`后必须跟一个空格。
示例:
font-family: Arial, sans-serif;
行长度
[强制] 每行不得超过 120 个字符,除非单行不可分割。选择器
[强制] 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。
示例:
/* good /
.post,
.page,
.comment {
line-height: 1.5;
}
/ bad */
.post, .page, .comment {
line-height: 1.5;
}
[强制] `>`、`+`、`~`选择器的两边各保留一个空格。
示例:
/* good /
main > nav {
padding: 10px;
}
label + input {
margin-left: 5px;
}
input:checked ~ button {
background-color: #69C;
}
/ bad */
main>nav {
padding: 10px;
}
label+input {
margin-left: 5px;
}
input:checked~button {
background-color: #69C;
}
[强制] 属性选择器中的值必须用双引号包围。
解释:
不允许使用单引号,不允许不使用引号。
示例:
/* good /
article[character="juliet"] {
voice-family: "Vivien Leigh", victoria, female
}
/ bad */
article[character='juliet'] {
voice-family: "Vivien Leigh", victoria, female
}
- 属性
[强制] 属性定义必须另起一行。
示例:
/* good /
.selector {
margin: 0;
padding: 0;
}
/ bad */
.selector { margin: 0; padding: 0; }
[强制] 属性定义后必须以分号结尾。
示例:
/* good /
.selector {
margin: 0;
}
/ bad */
.selector {
margin: 0
}
- 选择器
[强制] 如无必要,不得为 id、class 选择器添加类型选择器进行限定。
解释:
在性能和维护性上,都有一定的影响。
示例:
/* good */
error,
.danger-message {
font-color: #c00;
}
/* bad */
dialog#error,
p.danger-message {
font-color: #c00;
}