CSS基础

一.  认识CSS

1.      css全称是“层叠样式表cascadingstyle sheets”,它主要是用于定义HTML内容在浏览器内的显示样式,比如文字大小,颜色,字体加粗等

2.      使用css样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体,字号或者颜色等。

二.  CSS代码语法

1.      css样式由选择符和声明组成,而声明又是由属性和值组成。

(1)选择符:又称为选择器,指明网页中药应用样式规则的元素

(2)声明:在英文大括号中的就是声明,属性和值之间用英文冒号分隔,当有多条声明时,中间可以用英文分号分隔。、

(3)最后一条声明可以没有分号,但是为了以后修改方便,一般也加上分号。

(4)举个简单的例子:p{color:blue}它指的是p是选择器,声明在大括号里面,color是属性,blue是属性的值。

(5)一般为了使阅读容易,可以将每条代码写在一个新行内。

2.      css注释代码

(1)    在css中,用/*注释语句*/来标明注释

3.      内联式css样式

(1)    直接写在现有的HTML标签中

(2)    Css样式从代码插入的形式可以分为三种:内嵌式,嵌入式,外部式

(3)    内联式:css样式表就是把css代码直接写在现有的HTML标签中,比如:<p style=”color:blue”>这里文字是蓝色</p>

(4)    需要写在元素的开始标签里面

(5)    Css样式代码要写在style=””双引号中,如果有多条css样式代码设置可以写在一起,中间用分号隔开。

4.      嵌入式css样式

(1)    写在当前的文件中。

(2)    这种样式就是可以把css样式代码写在<style type=”text/css”></style>标签之间

(3)    嵌入式css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间。

5.      外部css样式

(1)    写在一个单独文件中

(2)    外部式css样式也称作外联式,就是把css代码写在一个单独的外部文件中,这个css样式文件以.css为扩展名,在<head>标签内使用<link>标签将css样式文件链接到HTML文件内,比如:<link href=”base.css” rel=”stylesheet” type=”text/css”/>

(3)    Css样式文件名称以有意义的英文字母命名。

(4)    rel=”stylesheet” type=”text/css”是固定写法不可修改

(5)    <link>标签位置一般写在<head>标签之内。

6.      三种方法的优先级

(1)    三种方法的优先级顺序:内联式>嵌入式>外部式

(2)    嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面

(3)    总的来说就是一个原则:就近原则(距离被设置元素越近优先级别越高)

(4)    内嵌式、嵌入式、外部式样式表中css样式是在相同的权值的情况下,才有上面的优先级顺序。

7.      选择器

(1)    每一条css样式声明由两部分组成,选择器{样式;}

(2)    在{}之前的部分是选择器,选择器指明了{}中的样式的作用对象,也就是样式作用域网页中的哪些元素。

8.      标签选择器

(1)    标签选择器就是html中的标签

9.      类选择器

(1)    类选择器在css样式编码中最常用到

(2)    语法:.类选择器名称{css样式代码;}

(3)    类选择器必须以英文圆点开头

(4)    其中类选择器的名称可以任意起名字,建议不要使用中文

(5)    类选择器的用法:使用合适的标签把要修饰的内容标记起来;使用class=”类选择器名称”为标签设置一个类;设置类选择器css样式

10.  ID选择器

(1)    类似于类选择器,但是也具有一些重要的区别

(2)    为标签设置id=”ID名称”,而不是class=”类名称”。

(3)    ID选择符的前面是#号,而不是英文圆点。

11.  类选择器和ID选择器的区别

(1)    相同点:可以应用于任何元素

(2)    不同点:ID选择器只能在文档中使用一次,与类选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次,而类选择器可以使用多次。

(3)    可以使用类选择器词为列表方法为一个元素同时设置多个样式,我们可以为同一个元素同时设置多个样式,但是只可以用类选择器的方法实现,ID选择器是不可以的(不能使用ID词列表)

12.  子选择器

(1)    自选择器就是大于符号,用于选择指定标签元素的第一代子元素

13.  包含(后代)选择器

(1)    包含选择器:即加入空格,用于选择指定标签元素下的后辈元素

(2)    子选择器仅仅是指它的直接后代,或者可以说是作用于子元素的第一代后代;而后代选择器是作用于所有子后代元素,后代选择器通过空格来进行选择,而子选择器是通过大于号来进行选择

(3)    大于号作用于元素的第一代后代,空格作用于元素的所有后代。

14.  通用选择器

(1)    通用选择器是功能最强大的选择器,它使用一个星号(*)指定,它的作用是匹配html中所有标签元素。

15.  伪类选择符

(1)    它允许给html不存在的标签(标签的某种状态)设置样式

(2)    关于伪类选择符,到目前为止,可以兼容所有浏览器的”伪类选择符”,就是a标签上使用:hover,现在比较常用的还是a:hover的组合。

16.  分组选择符

(1)    当想为html重多个标签元素设置同一个样式时,可以使用分组选择符(,),比如span,h1{color:blue;}

17.  继承

Css的某些样式时具有继承性的,继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。

18.  特殊性

(1)    权值的规则:标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100

(2)    还有一个权值比较特殊—继承也是有权值的但是很低,有的文献提出它只有0.1,所以可以理解继承的权值最低。

19.  层叠

(1)    当html文件中对于同一个元素可以有多个css样式存在并且这多个css样式具有相同权重值时,可以使用层叠来解决。

(2)    层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。

(3)    内联样式表(标签内部)>嵌入样式表(当前文件中)>外部样式表(外部文件中)

(4)    重要性:使用!important来解决;!important要写在分号的前面

(5)    当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页,并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置大一些,使其查看网页的文本更加清楚,这时注意样式优先级为:浏览器默认的样式<网页制作者样式<用户自己设置的样式,但记住!important优先级样式时个例外,权值高于用户自己设置的样式。

20.  文字排版---字体

(1)    可以使用css样式为网页中的文字设置字体,字号,颜色等样式属性。

(2)    不要设置不常用的字体,因为如果用户本地电脑上如果没有安装你设置的字体,就会显示浏览器默认的字体,现在一般网页喜欢设置为“微软雅黑”,比如:body{font-family:”Microsoft Yahei”;}或者body{font-family:”微软雅黑”;},第一种方法比第二种方法兼容性更好一些

21.  文字排版—字号、颜色

(1)    比如设置网页中文字的字号是12像素,并把字体颜色设置为#666(灰色):

(2)    Body{font-size:12px;color:#666}

(3)    文字的粗体可以使用 span{font-weight:bold}来设置

(4)    文字的斜体可以使用a{font-style:italic;}来设置

(5)    文字的下划线可以使用a{text-decoration:underline;}来进行设置

(6)    文字的删除线可以使用span{text-decoration:line-through;}来进行设置

22.  段落排版

(1)    中文文字中的段前习惯空两个文字的空白,这个特殊的样式可以用p{text-ident:2em;}来实现。

(2)    行间距属性设置:p{line-height:1.5em;}

(3)    设置文字间隔或者字母间隔可以使用letter-spacing来实现,这个样式就是在使用英文单词时,设置字母与字母之间的间距

(4)    设置单词之间的间距可以使用word-spacing来实现。

(5)    对齐:使用text-align样式代码

23.  元素分类

(1)    块状元素,内联元素(行内元素)和内联块状元素

(2)    常用的块状元素有:<div>,<p>,<h1>…<h6>,<ol>,<ul>,<dl>,<address>,<blockquote>

<form>

(3)    常用的内联元素有:<a><span><br><i><em><strong><label><q><var><cite><code>

(4)    常用的内联块状元素有:<img><input>

24.  元素分类—块级元素

(1)    设置display:block就是将元素显示为块级元素

(2)    块级元素的特点:每个块级元素都是从新的一行开始,并且其后的元素也另起一行;元素的高度,宽度,行高及顶和底边距都可以设置;元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

25.  元素的分类—内联元素

(1)    块状元素可以通过代码display:inline将元素设置为内联元素

(2)    内联元素的特点:和其他元素都在一行上;元素的高度、宽度及顶部和底部边距不可设置;元素的宽度就是它包含的文字或图片的宽度,不可改变。

26.  元素分类—内联块状元素

(1)    inline-block就是同时具备内联元素,块状元素的特点,使用代码:display:inline-block就是将元素设置为内联块状元素

(2)    inline-block元素特点:和其他的元素都在一行上;元素的高度、宽度、行高及顶和底边距都可以设置。

27.  盒子模型—边框

(1)    盒子模型的边框就是围绕着内容及补白的线,这线条你可以设置它的粗细、样式和颜色(边框三个属性)

(2)    boder-style常见的样式有:dashed(虚线)|dotted(点线)|solid(实线)

(3)    boder-color(边框颜色)中的颜色可设置为十六进制颜色

(4)    boder-width(边框宽度)中的宽度也可以设置为thin|medium|thick(但不是很常用),最长还是用像素(px)。

(5)    设置下边框:boder-bottom

(6)    设置上边框:boder-top

(7)    设置左边框:boder-left

(8)    设置右边框:boder-right

(9)    盒子模型的高度和宽度在CSS内定义的宽和高指的是填充以内的内容范围,因此一个元素的实际宽度(盒子宽度)=左边界(morgin-left)+左边框(boder-left)+左填充(padding-left)+内容宽度(width)+ 右填充(padding-right)+ 右边框(boder-right)+ 右边界(morgin-right) ,元素的高度是同一个道理。

(10) 填充:元素内容与边框之间是可以设置距离的,称之为”填充”,填充也分为上,下,左,右(顺时针),顺序一定不能搞乱

(11) 盒子的边界:元素与其他元素之间的距离称之为边界(margin)来设置的,边界也分为上下左右

(12) Padding和margin的区别是:padding在边框里,margin在边框外。

28.  CSS布局模型

(1)    布局模型是本,那么css布局模板就是外在的表现形式

(2)    Css包含三种基本的布局模型,用英文概括为:Flow,Layer和Float

(3)    在网页中元素有三种布局模型:流动型;浮动型;层模型;

29.  流动模型

(1)    流动模型是默认的网页布局模式,也就是说网页在默认状态下的HTML网页元素都是根据流动模型来分布网页内容的

(2)    流动布局模型具有两个比较典型的特征:块状元素都会在所处的包含元素内自上而下顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%,实际上,块状元素都会以行的形式占据位置;在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。

30.  浮动模型

(1)    任何模型在默认的情况下是不能浮动的,但可以用CSS定义为浮动。比如float:left;

31.  层模型

(1)    层布局模型就像图像软件ps中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计中,由于网页大小的活动性,层布局没能收到热捧,但是在网页上局部使用层布局还是有其方便之处的。

(2)    Css定义了一组定位属性来支持层布局模型:绝对定位(position:absolute);相对定位(position:relative);固定定位(position:fixed)

(3)    层模型绝对定位:如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left,right,top,bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位,如果不存在这样的包含块,则相对于body元素,即是相对于浏览器窗口

(4)    层模型相对定位:如果香味元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left,right,top,bottom属性确定元素在正常文档流中的偏移位置,相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left,right,top,bottom属性确定,偏移前的位置保留不动。

(5)    层模型—固定定位:fixed表示固定定位,与absolute定位类型类似,但是它的相对移动的坐标是视图(屏幕内的网页窗口)本身,由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或者改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。

(6)    Relative与absolute组合使用:参照定位的元素必须是相对定位元素的前辈元素;参照定位的元素必须加入position:relative;定位元素加入position:absolute,便可以使用top,bottom,left,right来进行偏移定位。

(7)    盒子模型代码简写:盒子模型外边距,内边距,边框设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。通常有三种缩写方法:如果top,right,bottom,left的值相同,比如margin:10px 10px 10px 10px;可以缩写为margin:10px;如果top和bottom值相同,left和right值相同,比如margin:10px20px 10px 20px;可以缩写为margin:10px 20px;如果left和right值相同,比如margin 10px 20px 30px 20px;可以缩写为margin:10px 20px30px;注意padding,border的缩写方法和margin方法是一致的

(8)    颜色值的缩写:当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半

(9)    字体缩写:使用简写方式时至少要指定font-size和font-family属性,其他的属性如果没有指定将自动使用默认值。

(10) 在缩写时font-size和line-height中间要加入”/”斜杠。

(11) 一般情况下因为对于中文网站,英文还是比较少的。

(12) 颜色值:在网页中有字体颜色(color),背景颜色(background-color),边框颜色(border)等,设置颜色的方法有:英文命令颜色;RGB颜色(每一项的值可以是0-255之间的整数,也可以是0%-100%的百分数);十六进制颜色(这种颜色设置方法是现在比较普遍使用的方法,它的原理其实也是RGB设置,但是其每一项的值由0-255变成了十六进制00-ff)

(13) 长度值:目前比较常用的有px(像素),em,%百分比,要注意其实这三种单位都是相对单位。

(14) 水平居中设置行内元素:如果被设置元素为文本,图片等行内元素时,水平居中是通过给父元素设置text-align:center来实现的。

(15) 水平居中设置定宽块状元素:当被设置元素为块状元素时用text-align:center就不起作用了,这时分两种情况:定宽块状元素和不定宽块状元素。满足定宽和块状两个条件的元素时可以通过设置“左右margin”值为auto来实现居中的,元素的“上下margin”是可以随意设置的。

32.  水平居中---不定宽块状元素方法

(1)    不定宽度块状元素有三种方法居中:加入table标签;设置display:inline方法;设置position:relative和left:50%

(2)    加入table标签:为需要设置的居中元素外面加入一个table标签;为这个table设置“左右margin居中”(这个和定宽块状元素的方法一样);

(3)    设置display:inline方法:改变块级元素的display为inline类型,然后使用text-align:center来实现居中效果

(4)    设置position:relative和left:50%:通过给父元素设置float,然后给父元素设置position:relative和left:50%,子元素设置position:relative和left:50%来实现水平居中。

33.  垂直居中---父元素高度确定的但行文本

(1)    父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的height和line-height高度一致来实现的

(2)    垂直居中—父元素高度确定的多行文本:父元素高度确定的多行文本、图片】、块状元素的竖直居中的方法有两种:(a)使用插入table(包括tbody,tr,td)标签,同时设置vertical-align:middle。竖直居中,css有一个用于竖直居中的属性vertical-align,但这个样式只有在父元素为td或th时,才会生效,所以又要插入table标签。(b)在chrome,firefox及IE8以上的浏览器下可以设置块级元素的display为table-cell,激活vertical-align属性,但是要注意IE6,7并不支持这个样式。当为元素设置以下两个句子之一:position:absolute;float:left和float:right元素会自动变为以display:inline-block的方式显示,当然可以设置元素的width和height了,且默认宽度不沾满父元素

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值