首页 > 代码库 > css小随笔

css小随笔

 

 

一、什么是CSS

W3C标准中,倡导有3:其一为内容与表现分离,其二为内容与行为分离,其三为内容结构的语义化。其倡导中第一条的“表现”指的便可以说是CSS。CSS全称Cascading Style Sheets,中文名为层叠样式表,是一种用来表现HTML等文件样式的计算机语言。

 

二、引入CSS三种样式

1、行内样式表:在HTML标签中,使用style=""的形式引用

缺点:不符合W3C关于内容与表现分离的要求。代码杂乱,不利于后期维护。

2、内部样式表:在head标签中,使用style标签包裹CSS代码:

<head>
    <style type="text/css">
    </style>
</head>

3、外部样式:将CSS代码,全部写到一个CSS文件中,使用link标签,将HTML文件与CSS关联

<link rel="stylesheet" type="text/css" href="CSS/01.css" />

 

三、CSS选择器

1、标签选择器

技术分享

作用:跟选择器名称,选中页面中所有的HTML标签

2、类选择器(class选择器):

  ①写法:.class名{}

  调用:在HTML标签中,使用class="class名"调用选择器。

  ②优先级:class选择器>标签选择器

.li1{
    font-size: 12px;
    }

3、ID选择器:

  ①写法:#ID名{}

  调用:在HTML标签中,使用ID="id名"调用选择器

  ②优先级:ID选择器>class选择器

#first{
           color: gold;
    }        

4、通用选择器:

  ①写法:*{}

  调用:{}中加各种东西;选择页面中所有的标签

  ②优先级:标签>*

*{
    color: saddlebrown;
    background-color: blueviolet;
}

 

选择器注意事项

1)class选择器与id选择器的区别

  ①写法不同:class选择器使用,声明,而id选择器使用#声明

  ②优先级不同:当做用一标签时。ID选择器优先级高于class

  ③在同一个文件中,id选择器是唯一的,所以ID选择器只能作用于一个标签上。但是class可以作用于N个标签

 2)选择器的命名规则:

  只有:字母,数字(开头不行),下划线,减号组成。

3)选择器的优先级排序:

  ①首先循环的是“就近原则”。哪个选择器,作用于最里层,则谁会生效

  ②当作用于同一标签时:  ID>class>标签>通用选择器

 

5、交集选择器:

  ①写法:选择器1选择器2........{}

  多个选择器之间紧挨着,没有任何分离

  ②作用效果:一个标签要满足交集选择器,则必须满足交集选择器中出现的所有选择器

#first.li1{
        color: greenyellow;
        }

6、并集选择:

  ①写法:选择器1,选择器2,.....,选择器n{}

  ②生效规则:只要满则并集选择器中的一个,即可生效

#first,.li1{
        color: greenyellow;
        }

7、后代选择器:

  ①写法:选择器1 选择器2 选择器.....{}      选择器之间用空格分隔

  ②生效规则:必须满足,后一个选择器,是前一个选择器的后代(子代,孙代,重孙代。。。)才会生效

ul .li1{
        color:salmon;
    }

8、子代选择器:

  ①写法:选择器1>选择器2>.....>选择器n{}    选择器之间,用>分隔

  ②生效:必须满足,后一个选择器,是前一个选择器的子代,才会生效

    隔代,即中间包含其他的标签,则不会生效

div>ul>.li1{
        color:salmon;
            }

 

 

选择器的优先级

1)第一原则:近者有先。作用于最里层的选择器,生效

2)当作用于同一层时:

  每种选择器所占优先级,可以进行运算获得:

    标签选择器  占权重1      class选择器  占权重10

    行级样式表style=""占权重1000  ID选择器  占权重100

.div1 #div2 div .div4 #li{} //221
 .div1 .div2 #div #div4 #li{} //320

    注意:

  只有交集,后代子代选择器,才参加优先级累加!!!

  而,并集选择器相当于多写个选择器,没有总优先级

  #div,.div并集选择器相当于两个选择器,分别是:10  100

3)如果计算出的优先级完全相同,则后写的选择器生效

 #div.div{}
 .div#div{}

两者优先级都是110,则靠后的生效

并集并不参与累加,相当于两个选择去

 

四、css中的颜色单位

1、使用颜色名称表示:red/blue/gren

2、使用十六进制数表示:#ffffff  #000000=#000(三位的可选择性较小)

3、使用rgb255,255,0)三个数值分别表示red/blue/gren,范围是0-255

rgba(255,255,0,0.3),第四位为通明度,可选值0-10表示全透明,1表示不透明

 

五、css常用文本属性:

 

1、字体字号类:

①font-weight:字体粗细  bold-加粗 normal-正常 lighter-

也可以使用100900属值 400-normal 700-bold

②font-style:字体倾斜。 italic倾斜,normal正常

③font-size: 字体大小。可以使用px单位,可以使用百分比(表示是浏览器默认大小的百分比,浏览器默认字体大小为16px

200%表示浏览器默认大小(16px)的两倍

④font-family: 字体系列/字体组  (必须在最后)

可以直接写字体名,也可以写字体系列名

常用字体系列:sans-serif(非衬线字体)serif(衬线字体)

font-family可以接收多个值,用逗号分隔。表示优先使用第一个,如果没有这个字体,一次向后使用。通常,最后一个值放字体系列名;

font-family: "黑体","微软雅黑",sans-serif;

[设置字体,多个字体之间,用逗号分隔。表示的是,从第一个字体开始显示,

如果电脑不支持第一个,依次顺延。

>>>>>字体的最后一个,一般是字体族。sans-serif(非衬线字体)serif(衬线字体)

当前面都不支持时,推荐浏览器从规定的字体族中选择一个字体显示。

font-family: "宋体","黑体","微软雅黑",sans-serif;]

⑤font缩写形式:

>>>顺序必须是font-weight font-style font-size/line-height font-family

>>>不同属性之间,用空格分隔

>>>font-size/line-height 之间用/分隔

>>>font-family多个字体之间用逗号分隔

font:bold italic 32px/50px "微软雅黑",serif

 

2、字体颜色

①color: 字体颜色 可以使单词、十六进制,RGB

②opacity:透明度,可选值0-1

opacityRGBA的区别】

>>>>>RGBA本身可以设置颜色,而opacity必须配合其他颜色属性使用

>>>>>RGBA仅仅是让当前元素设置的颜色透明;

opacity,会让当前元素里面的所有文字、背景、子元素都透明

3、行距、对齐、其他类

①line-height:行高。 可以写px单位、可以直接写数字(表示默认行距的几倍)

也可以写%(表示默认行距的百分比)

行高重要作用:让单行文字在div中垂直居中?

设置行高等于div高度,即可让单行文字垂直居中

②text-align:设置区域内的行级元素水平对齐方式 left/right/center

③letter-spacing:字符间距,字与字之间的距离

④text-decoration:文本修饰

underline:下划线 overline:上划线 line-through:删除线 none:去掉超链接的下划线

  ⑤overflow:设置超出文本域的显示方式

>>>>overflowhidden;超出区域的文字隐藏不显示

 技术分享

>>>>overflowscroll;无论文字多少,都会显示垂直水平滚动条

 技术分享

>>>>overflowauto;自动,默认效果。文字多显示滚动条,文字少则不显示

 技术分享

>>>>可以使用overflow-xoverflow-y单独修改两个方向的滚动条

overflow-x:hidden;overflow-y: scroll;

 

⑥ text-overflow:设置多余文字的显示方式

设置行末多于文字显示方式:

clip裁剪掉 ellipsis省略号 显示省略号需要配合white-space: nowrap; 使用

【设置行末显示省略号】三行缺一不可

overflow: hidden; 多余文字隐藏(设置控件超出范围隐藏)

white-space: nowrap; 文字不断行(若是中文,需设置行末不断行

text-overflow: ellipsis; 显示为省略号 (设置多余文本省略号显示)

word-break: 浏览器默认在空格处断行,当一个单词长度超出范围时,会不断行显示, break-all 允许在单词内换行。

 技术分享

 

⑦white-space: nowrap; 设置中文,不断行显示

⑧text-indent:首行缩进,可用像素值调整缩进大小

 技术分享

 

⑨-webkit-text-stroke: 2px #FFFF00; 文字描边

 技术分享

-webkit-表示只有webkit内核浏览器生效

⑩text-shadow:文本阴影,有四个属性值:

>>>水平阴影距离 必选,正数阴影右移,负数阴影左移

>>>垂直阴影距离 必选,正数阴影下移,负数阴影上移

>>>阴影模糊距离 可选,数值越大,阴影越模糊。默认为0,不模糊

>>>阴影颜色 可选,默认为黑色

text-shadow: 5px 5px 2px blue;

 

 技术分享

 

六、CSS常用背景属性

 

1background-color:背景色

 

2background-image:背景图 使用url(" ")选择背景图片。背景图与背景色同时存在时,背景图覆盖背景色

 

 技术分享

 

3background-repeat:背景图的重复方式。no-repeat:不平铺 repeat:平铺

 

repeat-x:沿X轴平铺 repeat-y:沿Y轴平铺

 

 技术分享

 

 技术分享

 

4background-size:背景图的大小

 

[指定宽度高度]

 

>>>宽度高度的指定,可以写px,也可以写%(父容器宽高的百分比)

 

>>>当写两个属性时,分别表示宽高

 

当写一个属性时,表示宽度,高度将会等比缩放

 

 技术分享

 

[其他属性值]

 

>>>contain:图片等比缩放,直到宽或高中较大的一边缩放到%100为止。(可能导致较短的一边<100%,图片无法完全覆盖)

 

 技术分享

 

>>>cover:图片等比缩放,直到宽或高中较小的一边缩放到%100为止。(可能导致较大的一边>100%,图片超出区域,显示不全)

 

 技术分享

 

5background-position:背景图偏移量

 

>>>指定位置:left/center/right top/center/bottom

 

当,只写一个值时,另一个默认居中

 

 技术分享

 

>>>指定坐标:两个属性分别表示   水平位移,垂直位移

 

坐标的值可以是像素单位,也可以是百分数

 

 技术分享

 

 技术分享

 

当写px单位时:

 

水平方向:正数右移 负数左移

 

垂直方向:正数下移 负数上移

 

(左负右正  上正下负)

 

当写%百分数时:

 

一般只能是正数。表示的是,去掉图片的宽高,剩余空白区域的分布的比例

background-position: 30%; 

    水平方向去掉图片宽度,剩余区域3:7

 

 技术分享

 

6list-style:修改列表小黑点的样式

 

none:去掉小黑点

 

 技术分享

 

url(); 可以使用url导入一个小图片,作为列表标识符

 

 

 

 技术分享

 

 技术分享

 

7float:浮动 可以实现让块级元素,在一行中显示

 

 技术分享

 

(可用宽度来条件距离)

 

 

 

 技术分享

 

 

七、小感悟

不要看这个这些感觉比较乱比较多,当能够比较熟练的掌握时,就能够做出比较好的网页来,循序渐进才会有号的结果。

 

css小随笔