CSS

 

一:css主要由两个部分组成:选择器和一条或多条声明。

选择器是用于指定css样式的HTML标签,花括号内是对该对象设置的具体样式。

属性和属性值以“键值对”的形式出现。

属性是对指定的对象设置的样式属性,如:字体大小、颜色等。

属性和属性值用英文  :  分割。

 

二:css代码书写风格

在冒号后面与属性值中用空格分开。

前面要用空格分开。

在选择器与大括号中间用空格分开。

 

三:选择器:

选择器:根据不同需求把不同的标签选出来,简单来说就是选择标签用的。

选择器分为基础和复合选择器。

基础选择器分为:标签、类、id、通配符选择器。

 

1  标签选择器(元素选择器): 是指用HTML作为名称分类,按标签名称分类,为页面中某一类标签指定统一的css样式。

优点:可以把某一类标签全部选择出来,能快速为页面中同一类型统一设置样式。

缺点:不能设置差异化样式。

语法:

标签名 {

  属性1 : 属性值1;

  属性2 : 属性值2;

  属性3 : 属性值3;

  ......

}

 

2  类选择器 : 可以差异化选择不同的标签,可以单独选一个或几个标签。

  .类名 {

  属性1:属性值1;

       属性2:属性值2;

}

<标签 class = "类名">     </标签>

 

3 类选择器——多类名:

<标签 class = "类名 类名......">     </标签>

特点:

标签有多个名字。

各个类中间用空格隔开。

多类名选择器在后面布局比较复杂的情况下,比较多使用。

节省css代码,统一修改非常方便。

 

4 id选择器:

id选择器可以为标有特定id的HTML元素指定特定的样式。

HTML元素以id属性来设置id选择器,css中id选择器以“ # ”来定义。

语法:

#id名 {

  属性1:属性值1:

       ......

}

<标签 id = "id值......">     </标签>

注意:id属性只能在每个HTML文档中出现一次,口诀:样式#定义,结构id调用,只能调用一次,别人切勿使用。

 

5 通配符选择器:

通配符选择器用“  *  ”号定义,表示选取页面中所有元素(标签)。

语法:

  * {

  属性1:属性值1;

  ......

}

通配符选择器不需要调用,自动给所有元素使用样式。

特殊情况才使用。

优先级:  id > 类选择器 > 标签 > 通配符选择器

 

四  css字体属性:

1:font-family

用于定义文本的字体系列。

各种字体之间必须使用英文状态下的逗号隔开。

如果有空格隔开的多个单词组成的字体要加引号。

最常见的字体:“ Microsoft YaHei ” , tahoma, arial, " Hiragino Sans GB "

 

2 字体大小:

font-size。

谷歌默认字体大小为16px

不同浏览器可能显示字体的默认大小不一致,要给一个明确值大小,不要用默认大小。

 

3 字体粗细:
使用font-weight属性来设置文本字体的粗细。

属性值:normal  (等于700)加粗字体   bold (等于400):正常字体   lighter:变细 在实际开发中我们更喜欢用数字来表示粗细。

 

4 文字样式:

使用font-style来设置文本的风格。 

属性值:normal(默认值)  italic(倾斜)

1 字体复合属性:

body {

  font:font - style      font - weight       font-size / line - height      font - family;

}

使用font属性时,必须按上面语法中的顺序书写,各个属性间以空格隔开

不需要设置的属性可以省略(取默认值),但必须保留font-size 和 font-family属性,缺一不可,否则font属性将不起作用。

}

 

五 css文本属性:

1 文本颜色:

color属性用于定义文本的颜色。

其属性值表示方式有:

预定义的颜色值:red。

十六进制:#FF0000       开发中最常用的时十六进制。

RGB代码:rgb(255,0,0)或rgb(100%,0%,0%) 

 

2 文本对齐:

text-align属性用于设置文本内容的水平对齐方式。

属性值:center(居中)  left(左对齐)(默认值)  right(右对齐)

 

3  装饰文本:

text-decoretion属性规定添加文本的修饰。可以给文本添加上划线,下划线,删除线。

属性值:

none:默认,没有装饰线。(最常用)

underline:下划线,链接a自带下划线。(常用)

overline:上划线,(几乎不用)

line-through:删除线。(不常用)

 

4 文本缩进:

text-indent属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。

em是一个相对单位,就是当前元素(font-size)1个文字的大小,如果当前元素没有设置大小,则会按照父元素的一个文字大小。

 

5 行间距:

line-height 属性用于设置行间的距离,可以控制文字于行之间的距离。

行间距包含文字高度、上间距和下间距。

 

1 内部样式表:

内部样式表(内嵌样式表)是写到html页面内部,是将所有的css代码抽取出来,单独放到一个< style/ > 标签中。

style标签理论上可以放在HTML文档的任何地方,但一般放在文档的< head >标签中。

通过此种方式,可以方便控制当前整个页面中的元素样式设置。

 

2 行内样式表:

<h2 style = "font-size:16px; color:red;">   文字内容  <h2/>

行内样式表(内联样式表)实在元素标签内部的style属性中设定css样式。适合修改简单的样式。

代码非常清晰,但没有实现结构于样式完全分离。

style就是标签的属性。

由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用。

可以控制当前的标签设置样式。

 

3 外部样式表:

实际开发都是外部样式表,适合于外部样式比较多的情况,其核心是把样式单独写到css文件中,之后把css文件引入html页面中使用。

引入外部样式表分为两部:

1 新建一个后缀为.css的样式文件,把css代码都放入此文件中。

2 在html页面中,使用< link >标签引入这个文件。<link rel = "stylesheet"  href = "css文件路径">

可以实现结构与样式完全分离。

 

第二部分:

1 Emmet语法:

快速生成html标签。

 

 2 快速生成css标签:

https://www.bilibili.com/video/BV14J4114768?p=95&spm_id_from=pageDriver&vd_source=f614e5bf237c03e69974cd452a311646

95 集

 

快速格式化代码:

vscode:shift + alt + f

 

一:CSS复合选择器:

在css中复合选择器是建立在基础选择器上,对基本选择器进行组合形成的。

复合选择器可以更准确、更高效的选择目标元素(标签)

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。

常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等。

 

1 后代选择器(重要)

后代选择器又称为包含选择器,可以选择父元素里面的子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

元素1   元素2  {后代元素}。

ul  li  { 样式声明 }   选择ul里面所有的li标签元素。

元素1 和 元素2 中间用空格隔开。

元素1是父级 。 元素2是子级,最终选择的是元素2。

元素2不仅可以是儿子 ,也可以是孙子,只要是元素1的后代。 

元素1 和元素 2 可以是任意基础选择器。

 

2 子选择器(重要)

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。

语法:元素1 > 元素2 (样式声明)

元素1 和 元素2 中间用大于号隔开

元素1是父级,元素2是子级,最终选择的是元素2

元素2 必须是子级。

 

3 并集选择器(重要)

并集选择器可以选择多组标签,同时为他们定义相同的样式。通常用于集体声明。

并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

元素1,元素2{ 样式声明 }

上述语法表示选择元素1和元素2。

元素1和元素2中间用逗号隔开

逗号理解为和的意思

并集选择器通常用于集体声明。

 

4 链接伪类选择器:

a:link  选择所有未被访问的链接

a:visited  选择所有已被访问的链接

a:hover   选择鼠标指针位于其上的链接

a:avtive   选择活动链接

为了生效请按以上顺序声明。

 

二:css的元素显示模式:

 

 

 

 

 

 

 

 三:css背景:

通过css背景属性,可以给页面元素添加背景样式。

背景属性可以可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

1 背景颜色:

background-color属性定义了元素的背景颜色。

语法:

background-color:颜色值;

2 背景图片:

background-image属性定义了元素的背景图片。

优点是便于控制位置。

语法:

background-image:none /  url( 地址 );

none 默认  

一般情况下是默认的transparent(透明色)。

3 背景平铺:

background-repeat属性可以对背景图进行平铺。

语法:

background-repeat:no-repeat   |    repeat     |    repeat-x    |    repeat-y;

no-repeat:不平铺

repeat:图像在纵向和横向上平铺(默认)

repeat-x:图像在横向上平铺

repeat-y:图像在纵向上平铺

页面元素既可以添加背景颜色,也可以添加背景图片,但背景图片会在最上面。

4 背景图片位置

background-position属性可以改变图片在背景中的位置。

语法:

background-position:x  y;

x y坐标可以使用方位名词或精确单位

参数值              说明     

length               百分数  |    由浮点数字和单位标识符组成的长度值。

positong           top |  center  |  left  |  bottom  |  right

1 如果参数是方位名词

如果指定的两个值都是方位名词,则两个值前后顺序无关,不如left  top  和  top  left 效果一样。

如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐。

2 参数是精确单位

如果参数值是精确坐标,那么第一个肯定是x坐标,第二个一定是y坐标

如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中。

3 参数是混合单位

如果指定的两个值精确单位和方位名词混合使用,则第一个值是x坐标,第二个值是y坐标。

5 背景图像固定(背景附着)

background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动。

background-attchment 后期可以制作视差滚动的效果。

语法:

backgrond-attachment:scroll | fixed

scroll  背景图像是随对象内容滚动

fixed   背景图像固定

6 背景属性复合写法:

当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为:

background:背景颜色  背景图片地址  背景平铺  背景图像滚动  背景图片位置;

7 背景色半透明:

语法:

background-rgba(0,0,0,0.3)

最后一个参数时alpha透明度,取值范围在0~1之间。

我们习惯把0.3的0省略调,写为background:rgba(0,0,0,.3)

注意:背景半透明时指背景半透明,盒子里面的内容不受影响。

css5新增属性,是IE9+版本浏览器才支持的。

但是现在实际开发,我们不太关注兼容性写法了,可以一放心使用。 

三 css的三大特性:

层叠性   继承性   优先级

1 层叠性 

相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式,层叠主要解决样式冲突的问题。

层叠性原则:

样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式。

样式不冲突,不会层叠。

2 继承性
子标签会继承父标签的某些样式,如文本颜色和字号

恰当的使用继承可以简化代码,降低css样式的复杂性。

2.1 行高的继承性:

font:15px / 1.2

行高可以跟单位,也可以不跟单位

不跟单位表示字体大小的n倍

这样写的优势在于里面的元素可以根据文字的大小自动调整行高。

3 优先级:

 

 

 

继承的权重是零,如果该元素没有被直接选中,不管父元素权限多高,子元素得到的都是零。 

权重叠加:如果是复合选择器,则会又权重叠加,需计算权重。

 

四 盒子模型

1 网页布局:

 

2 边框(border)

可以设置颜色的边框,边框由三部分组成:边框宽度(粗细) 边框样式  边框颜色

语法:

border-width    border-style    border-color

solid:实线   dashed:虚线   dotted:点线

边框的复合写法:
border:  ; 没有顺序。

边框分开写法:

border-top  border-bottom

3 表格的细线边框:

border-collapse 属性控制浏览器绘制表格边框的方式,控制相邻单元格的边框。

语法:

border-collapse:collapse;

collapse(合并)

border-collapse:collapse;表示相邻边框合并在一起。

边框会影响盒子实际大小

解决方案:

1测量盒子大小的时候,不量边框

2 如果包含了边框,则需要width/height减去边框宽度。

 

4 内边距(padding)

设置

padding-top    padding-bottom    padding-left    padding-right

 

 

 

padding也会影响盒子的实际大小。

如果盒子本身没有指定width  height属性,则不会使盒子有变化。

5 外边距:

margin-left  margin-right  margin-top  margin-bottom

margin的写法格式跟padding的是一样的

 

 

 

 

 

 

 

 

 

 

 

 

ul 无序列表中的小圆点可以用  list-style :none; 属性清除

6 圆角边框:

 

 

 

 

 

 

盒子阴影:

 

 文字阴影:

 

浮动布局

 

 

 

 

 

 

 

 

 

 

 

 

float属性用于创建浮动框

 

浮动特性:

 

 

 

 

 浮动特性:

 

 

 

 

 

 

 

 

浮动布局注意点:

 

 

 

 

 

 

 

 

1

 

2

 

3

 

 

 

 

 

 4

 

 总结:

 

 书写顺序

 

 页面布局总体思路

 

 

 

 

 

定位

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 元素的显示与隐藏

 

 

 

 

 

 

精灵图技术

 

 

 

 

 

 

 

 

 

 

 

鼠标:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 css三角用法

https://www.bilibili.com/video/BV14J4114768?p=271&vd_source=f614e5bf237c03e69974cd452a311646

HEML5新特性:

 

 

 

 

 

 兼容性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

伪类选择器:

 

 

 

 

posted @ 2022-05-17 17:14  哥不是非主流  阅读(190)  评论(0)    收藏  举报