[Codecademy] HTML&CSS 第七课:CSS: An Overview



本文出自   http://blog.csdn.net/shuangde800


[Codecademy] HTML && CSS课程学习目录


------------------------------------------------------------------------------------------------


 

What CSS is(什么是CSS)


CSS(Cascading Style Sheets级联样式表)是一种描述你html的外观和格式的语言。
一个样式表(style sheet)是一个描述html页面看起来怎么样的文件。
我们说这些样式表是级联(cascading)的是因为这些表格可以应用超过一种的样式。例如,你想让所有的段落<p>的字都是蓝色的,但是只有其中某一个单词是红色的,CSS也可以做到这点。


只要这样子设置css文件:
p {
	color: red;
}

span {
	/*Write your CSS here!*/
	color: blue;
}

然后html文件中连接css文件后,直接使用<span>即可,就会自动设置css的样式:
<!DOCTYPE html>
<html>
	<head>
		<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
		<title>Fancy Fonts</title>
	</head>
	
	<body>
		<p>I'm a paragraph written in red font, but one of my words is <span>blue</span>!</p>
	</body>
	
</html>

效果图:






Why sparate from function?(为什么要把功能分开?)


有两个主要原因要把form/formating(css)和content/strutrue(HTML)分开来:
1. 可以给一种标签定制格式,以后使用这个标签就再也不需要在重写代码。
2. 可以把同一种样式表应用在多个html文件中,而不要重写代码 



If it's in, it's out!(引用css文件)


在之前的课程中学习了html内联样式(inline styling),例如:
<p style="color:red">Red font!</p>

如果用这种方法制作网页,那么将会很可怕:你必须要写非常多相同的代码,这样会让html文件变得很大!而且如果要改变风格,那么就需要改变所有的代码!而如果使用css文件的话,只需要修改这个文件就可以了,多么轻松!

有两种方法给html文件设置css:
1.  内置在html中,即放在在html文件的<head>标签内,把css内容放在<style>标签内。
例如:
<!DOCTYPE html>
<html>
	<head>
		<style>
			p {
				color: purple;
			}
		</style>
		<title>Result</title>
	</head>
	<body>
		<p>Check it out! I'm purple!</p>
	</body>
</html>



2. 单独的css文件,然后在html链接它。这是一个更好的方法。

在head标签内增加<link>标签,然后在link标签里增加属性type = "text/css";rel="stylesheet";href="stylesheet.css"
<!DOCTYPE html>
<html>
	<head>
		<title>Result</title>
	    <link type="text/css"; rel = "stylesheet"; href="stylesheet.css"></link>
	</head>
	
	<body>
		<p>I want to be SIZE 44 font!</p>
	</body>
	
</html>






PSA: Self-closing tags(自关闭标签)


自关闭标签可以让我们写代码更加方便,如果标签<xxx> </xxx>之间没有内容,那么就可以使用自关闭标签,例如:
<linktype="text/css" rel="stylesheet" href="CSS file address"/>
<imgsrc="web address"/>

大多数标签都不是自关闭的,但是知道用这个可以节省时间。



CSS语法


css语法和html不一样,但是不必担心,它很简单!大多数都是下面这种格式的:
selector {
    property: value;
}

selector可以是html的任何标签,例如<p>,<img>,<table>.
property是标签内的属性,例如可以设置font-family,color,和font-size等。
value是property属性的值,例如color的值可以是red。每个属性值之后要有分号;。



One selector, many properties(一个selector,多个properties)



CSS的另一种优势就是在一个selector里面可以设置多个properties,例如,你要设置段落<p>的font-size,font-family,color属性,可以这样设置:
p {
     font-family: Arial;
     color: blue;
     font-size: 24px;
}


记住,每个属性值之后要有一个分号。
 


一个css文件还可以有多个selector.


例如:
stylesheet.css
/*You can do this! Write your CSS below.*/

h3 {
    color:red;
}
p {
    font-family:Courier;
}

span {
    background-color:yellow;
}

index.html
<!DOCTYPE html>
<html>
	<head>
		<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
		<title>I Know Kung Fu (er, CSS)</title>
	</head>
	<body>
		<div>
			<h3>What's CSS for?</h3>
			<p>CSS is for styling HTML pages!</p>
			<h3>Why use it?</h3>
			<p>It makes webpages look <span>really rad</span>.</p>
			<h3>What do I think of it?</h3>
			<p>It's awesome!</p>
		</div>
	</body>
</html>


效果图:







The importance of semicolons(分号的重要性)


当你添加越来越多的property-value给CSS文件中的selector时,记住在每个值之后添加分号是非常重要的!
分号告诉css一对property-value结束了,并且进入下一个。没有分号,会让你的代码看起来很难懂。

同时,也要记住每个selector后跟着一对花括号{ }



CSS的注释



CSS的注释和C语言一样,使用/* */ 的





RGB模式颜色的十六进制值


你可能注意到了,我们使用color:red或color:blue等来设置颜色,但是世界上的颜色千千万万,如果要其它颜色呢?比如要橘黄色,淡蓝色,深蓝色等等。设置这些颜色,就需要用到十六进制值了。
在网上有很多十六进制的颜色值,用搜索引擎搜一下就可以了。这个网站就不错链接

十六进制颜色值以“#”开头,然后跟着6位的0~9和A-F的十六进制数,每两位代表RGB颜色模式的红/绿/蓝三颜色的值。 例如,#FF0000代表红色,#00FF00代表绿色,#0000FF代表蓝色。




Pixels and ems(像素)



我们经常会设置字体的大小,例如:
p{
     font-size: 10px;
}
其中的10px代表10像素,一个像素就是你电脑屏幕上的一个点,用像素来标识字体的尺寸,当用户电脑屏幕规格和 你的差不多时,这个方法非常好。

如果用户电脑屏幕的差别和你的非常大呢?(例如用户使用智能手机浏览你的网页)
那么就要使用em了(注意不要和<em></em>斜体混淆)。
字体的ems尺寸是一个相对尺寸,一个em等价于用户设备的默认字体大小尺寸,那么2em就是两倍大小了,0.5em就是u一半大小




A font of knowledge(字体的小知识)


之前使用过font-family改变字体类型,那么CSS到底支持多少种字体呢?

答案是取决与具体的设备,大多数电脑都支持最常用的字体,例如Verdana, Courier, 和Garamond等,但是每台电脑可能会有安装不同的字体。

好消息是,CSS提供了一些内置的字体,这样就可以保证在任何设备和系统下都可以显示效果。
这些字体是:

serif: A font with little decorative bits on the ends of the strokes that make up letters. Do a search on "serif" to see what we mean.

sans-serif: A plain-looking font, like this one. It doesn't have the little doohickies on the ends of letters like a serif font does.

cursive: A scripty font! It looks like cursive writing.


在之后我们会学习怎样导入自己的字体,这样就可以保证所有人即使是没有安装该字体的都可以显示效果。


下面显示三种字体:
stylesheet.css
/*Add your CSS below!*/

h1 {
    font-family:serif;
}
h2 {
    font-family:sans-serif;
}
h3 {
    font-family:cursive;
}

index.html
<!DOCTYPE html>
<html>
	<head>
		<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
		<title>Result</title>
	</head>
	<body>
		<h1 >I'm going to be a serif font when I grow up!</h1>
		<h2>I'm going to be a sans-serif font.</h2>
		<h3>I'm going to be in cursive!</h3>
	</body>
</html>

效果:







Backup values(备份值)


你不需要直接指定使用内置的默认字体,例如cursive,sans-serif。你可以告诉CSS尝试多种字体,例如:

p {
     font-family: Tahoma, Verdana, sans-serif;
}

CSS会依次按顺序尝试使用这些字体,一旦发现一个字体在用户机器上有,那么就会选择使用这个字体。





Border属性


很多html元素都支持border属性,这尤其对表格有用。
border支持多个值,例如,一个border是2px, solid, 和red:
selector {
    border2px solid red;
}



Links and text decoration(链接和文字修饰)


 
链接有很多和文字相同的属性,可以改变它的颜色,尺寸等。
除此之外,链接默认会有一个下划线的属性,如果要取消下划线,就在text-decoration里设置。
这个属性允许对文本设置某种效果,如加下划线。


取消下划线:
a {
    text-decoration: none;
}

text-decoration的几种属性:
h1 {text-decoration:overline}   上划线
h2 {text-decoration:line-through} 中划线
h3 {text-decoration:underline}  下划线
h4 {text-decoration:blink} 定义闪烁的文本









原文地址:https://www.cnblogs.com/riskyer/p/3320016.html