基本
常识与实践
链接方式
基本
最基本的方式就是直接在html文件中指定元素样式,这种方式不推荐,因为将表现层和结构层混起来了
"style="background-image:url({{user.avatar}})"
内部链接
要为html直接增加css样式,需要在元素中增加开始和结束style标记,css规则放在里面
<style>
p {
color: gray
}
</style>
css文件外置
另一种方式将css文件外置,如style.css,作为样式表(stylesheets),然后从html众创建一个到这个文件的外部链接,用元素,用外部样式表的好处是要修改整个网站的样式,只要进入这个样式表,对css进行几处修改即可。如:
<link type="text/css" rel="stylesheet" href="lounge.css" >
多样式表
使用多个样式表,顺序很重要,一个样式表会覆盖在它上面链接的样式表中的样式,有时会有一个样式表作为页面的基础样式,要修改样式,链接这个样式表,然后在下面提供自己的样式表,指定要修改的样式,如下所示:
<link rel="stylesheet" href="corperate.css">//总公司样式
<link rel="stylesheet" href="beverage-division.css">//部门对总公司的样式做了一些补充,甚至可以覆盖公司的样式
<link rel="stylesheet" href="lounge-seattle.css">//西雅图休闲室对样式表做了自己的调整
简写
css属性太多,能不能不费吹灰之力就指定这些属性呢?可以把同一属性的值结合起来写成一句,即简写。
简写格式
padding
padding: 0px 40px 30px 20px,顺序是上右下左,顺时针有木有,如果都相同可以用padding: 20px
padding-top: 0px
padding-right: 40px
padding-bottom:30px
padding-left: 20px
margin
上面的padding格式同样对margin也适用,还有另一种方法,如果上下一样,左右一致,可以这样写:margin: 0px 20px,前面指定上下,后面指定左右。
border
边框属性简写 border: thin solid #007e73,可以用你喜欢的任何顺序。
background
背景简写 background: white url(images/cocktail.gif) repeat-x,同样顺序随便
字体
字体简写的格式稍微复杂一些:
font : font-style font-variant font-weight font-size/line-height font-family
选择
子孙选择器
父元素和子孙元素名之间有一个空格,子孙选择器会选择所有子孙,包括这个元素中嵌套的所有,不管嵌套多深,例如
color: black
}
直接孩子
如果要选择直接的孩子,用>
color: black
}
复杂选择
更复杂的选择,方法还是一样
color: blue
}
规则添加
类
当我们用选择器选择元素使用一个规则时,会对所有该元素应用这个样式,所以如何单独地选择这些元素呢?这里就需要类class,class可以定义一类元素,对属于该类的所有元素应用样式.要将一个元素加入一个类,只需要增加属性”class”,并提供类名,如”greentea”:
<p class="greentea">
...
</p>
类元素选择器
先选择这个类中的元素,再用”.”指定一个类,最后是类名,如:
p.greentea {
color: green
}
添加类元素
如果想对所有<blockquote>也做同样的处理,可以:
blockquote.greentea,p.greentea {
color: green
}
<blockquote class = "greentea">
类选择器
如果想把<h1>,<h2>,<h3>,<p>和<blockquote>都增加到greentea呢?要对类中的所有元素都用同一样式可以用:
.greentea{
color: green
}
/ 省略所有元素名,只有一个点,则会应用到所有成员 /
多类元素
元素可以有多个类,例如:
<p class="greentea raspberry blueberry"
特定元素选择器
如果多个选择器都选择了一个元素呢?例如上面的3个类都与p元素匹配,并且都定义了color属性,那么那个会胜出?
id
id的作用
id属性用来唯一地命名元素,通常你想对多个元素重用某些样式,才能真正发挥类的作用。但是如果只有一个元素需要样式,或者页面上只有一个元素,那就应该使用id,每个元素只能有一个id,页面中只能有一个元素拥有特定id,一个元素有一个id,同时可以属于一个或多个类,id中不允许出现空格或其他特殊字符,如
<p id="footer">...</p>
选择元素
用id选择一个元素,需要在id前面使用一个#字符(类是[.]),id选择器只与页面中的一个元素匹配
color: red
}//选择id为footer的任意元素
p#footer{
color: red
}//选择id为footer的<p>元素
实践建议
继承
样式继承
层叠
媒体查询
link媒体查询
你可能想针对将要显示页面的设备调整页面的样式,可以用media属性,在link元素中增加这个属性.如
<link rel="stylesheet" href="lounge-mobile.css" mdeia="screen and (max-device-width: 480px)">
<link rel="stylesheet" href="lounge-print.css" media="print">
css媒体查询
可以直接在css中增加媒体查询,使用@media规则,把对所有媒体类型都通用的规则放在@media规则下面,例如
@media screen and (min-device-width: 481px){//当设备屏幕宽度大于480px时使用
margin-right: 250px
}
}
@media screen and (max-device-width: 480px){//当设备屏幕小于等于480px时使用
margin-right: 30px
}
}
@media print { // 如果要打印页面,使用该规则
body {
font-family: Times, "Times New Roman", serif
}
}
实践建议
属性
盒模型
盒模型是css看待元素的一种方式,css将每个元素看作由一个盒子表示,每个盒子由一个内容区以及可选的内边距,边框和外边距组成。由内而外分别是:
border 边框
color 颜色
文本元素的字体颜色
body{
background-color: rgb(80%, 40% , 0%)//橙色
}
还可以指定0-255之间的一个数值,例如:
body{
background-color: rgb(204, 102, 0)//和上面颜色一致,255*80% = 204...
}
font-family 字体
大多数计算机上通常只安装了部分字体,所以选择字体时要当心,通常指定的font-family包含一个候选字体列表,他们都来自同一个字体系列,候选字体用逗号分隔,大小写字母必须一致,最后总是放一个通用的字体系列名,如果一个字体名中包含多个单词,比如Courier New,如何指定?用引号,”Courier New”,如:
body{
font-family: Verdana, Geneva, Arial, sans-serif<一一首选字体呈降序
}
字体系列
每个font-family包含一组有共同特征的字体。共有5个字体系列:
body { font-size : small}
h1 { font-size : 150%}
h2 { font-size : 120%}
注意老版IE不支持用像素指定的文本缩放
浏览器默认字体大小
其他属性
left 指定一个元素的左边所在位置
top 控制一个元素顶部的位置
background-image 在元素后面放置一个图像,如
background-image: url(images/background.gif)
//用url括起来,注意没有引号
background-repeat 背景图像是否重复
line-height: 1//代表elixirs中的所有元素的行间距为其自己字体大小的1倍
}
width: 200px
float: right
}
background-color: #675c47
color:#efe5d0
text-align: center
padding: 15px
margin: 10px
font-size:90%
clear:right
}
width: 800px
padding-top: 5px
padding-bottom: 5px
background-color: #675c47
}
那么页面的宽度将被限制为800px,无论浏览器宽度如何变化都不会移动,但这会导致浏览器很宽时,右边有很多空白空间
凝胶布局 Jello
width: 800px
padding-top: 5px
padding-bottom: 5px
background-color: #675c47
margin-left: auto
margin-right: auto
}
绝对定位
position: absolute
top: 100px
right: 200px
width: 280px
}
display: table
border-spacing: 10px//于是不再需要div中的外边距
}
display: table-row
}
display: table-cell
background: #efe5d0 url(images/background.gif) top left
font-size:105%
padding: 15px
/ margin: 0px 10px 10px 10px/
vertical-align: top//确保表格两个单元格中的所有内容相对于单元格上边对齐,默认为中间对齐,可以设置为top,middle,bottom
}
display: table-cell
background: #efe5d0 url(images/background.gif) bottom right
font-size:105%
padding: 15px
/ margin: 0px 10px 10px 10px/
vertical-align: top
}
今天小编要跟大家分享的文章是关于Web前端开发知识点之CSS的使用方式。本文章小编从与HTML的结合方式、CSS语法、选择器以及盒子模型四个方面进行讲解。下面来和小编一起看一看吧!一、与HTML的结合方式
CSS与HTML的结合方式一共有三种,分别是:外部样式、内部样式和内联样式。
①外部样式
当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用标签链接到样式表。标签在文档的头部:
_
或者可以像下面这样在标签import一个样式表,不过不建议使用。
___
@import"main.css"_
②内部样式
当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用标签在文档头部定义内部样式表,就像这样:
_
___
_r_color:_ienna}_
③内联样式
要使用内联样式,你需要在相关的标签内使用样式(style)属性。
_
Thisisaparagraph
由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。
二、CSS语法
CSS语法规则由两个主要的部分构成:选择器,以及一条或多条声明。
选择器通常是您需要改变样式的HTML元素。
每条声明由一个属性和一个值组成。两条声明之间被分号分开。
属性是您希望设置的样式属性。每个属性有一个值。属性和值被冒号分开。
在下面这个例子中,h1是选择器,color和font-size是属性,red和14px是值。
三、选择器
CSS的选择器主要分为两大类,一类基本选择器;一类扩展选择器。
①基本选择器
基本选择器包括id选择器,元素选择器和类选择器。
id选择器可以为标有特定id的HTML元素指定特定的样式。id选择器以"#"来定义。例如下面代码指定id为red的标签中文本为红色。
#red{color:red}
元素选择器可以为相应的HTML元素指定特定的样式。元素选择器前面没有任何字符。例如下面代码指定div标签中文本为红色。
div{color:red}
类选择器可以为标有特定class的HTML元素指定特定的样式。类选择器以一个点号显示。例如下面代码指定class为center的标签中文本居中对齐。
.center{text-align:center}
②扩展选择器
扩展选择器是在基本选择器的基础上扩展出来的,下面介绍几种常见的。
*选择器(*
{})可以为HTML的所有元素指定特定的样式。例如下面代码指定HTML页面中所有文本为红色。
*{color:red}
并集选择器(选择器1,选择器2{})可以为多个选择器指定特定的样式。例如下面代码指定div和span两种标签中文本为红色。
div,span{color:red}
子选择器(选择器1选择器2{})可以为选择器1中的选择器2指定特定的样式。例如下面代码指定div中span标签文本为红色。
divspan{color:red}
父选择器(选择器1>选择器2{})可以为含有选择器2的选择器1指定特定的样式。例如下面代码指定含有span的div标签文本为红色。
div>span{color:red}
属性选择器(元素[属性="属性值"])可以为含有该属性且属性值等于该值的元素指定特定的样式。其中,元素和属性值可以省略。例如下面代码指定align属性等于center的div标签文本为红色。
div[align="center"]{color:red}
伪类选择器(元素:状态{})可以为该元素处于该状态时指定特定的样式。例如下面的代码指定鼠标悬浮在超链接上时文本为红色。
a:hover{color:red}
四、盒子模型
所有HTML元素可以看作盒子,在CSS中,"box
model"这一术语是用来设计和布局时使用。
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。
盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。
下面的图片说明了盒子模型:
Margin(外边距)-清除边框外的区域,外边距是透明的。
Border(边框)-围绕在内边距和内容外的边框。
Padding(内边距)-清除内容周围的区域,内边距是透明的。
Content(内容)-盒子的内容,显示文本和图像。
默认情况下,标签的width和height属性指的是content(内容)的宽和高,我们在设置边框和边距的时候一定要注意。如果想要让width和height是最终盒子的大小,可以设置下面的代码:
box-sizing:border-box
以上就是小编今天为大家分享的关于Web前端开发知识点之CSS的使用方式的文章,希望本篇文章能够对正在从事web前端工作和学习的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们工作顺利,城市一名优秀的web前端程序员。
文章来源:原创_绲墓适_