两天学会css基础(一)

时间:2022-11-21 05:15:53

什么是css?css的作用是什么?

CSS 指层叠样式表 (Cascading Style Sheets)主要作用就是给HTML结构添加样式,搭建页面结构,比如设置元素的宽高大小,颜色,位置等等。

学习css之前先了解一下css代码在HTML中的书写位置。

样式名称

存放位置

使用范围

应用

嵌套样式

head中的title下面

当前样式所处的页面

存放当前页面会用到的样式

行内样式

标签中通过style设置样式

只作用于当前标签

很少使用(一般可以临时使用)

外联样式

存放于其他文本中,使用时通过link标签引用

所有的页面都可以引用

存放一些所有页面都会用到的公共样式

css代码书写位置有三种形式:

1,第一种,用style标签包裹。通常放在HTML的head标签里。

<style>

div{width: 100px;height: 100px;border: 10px solid red;margin: 0 auto;}

</style>

2,第二种,嵌套在HTML代码的行内。比如<div style=”color : red ;font-size : 20px”></div>。这种形式现在不常用,现在提倡结构与样式分离的写法。

3,第三种,写在 .css文件里,通过在HTML加入link标签进行引入。

<link rel="stylesheet" href="css/index.css">

练习的时候可以都尝试一下,实际项目中多数用第三种写法。

在我看来,css基础内容其实就五大部分。

第一部分:盒模型

盒模型顾名思义,可以想象为我们生活中的一个纸盒子或木盒子。

它有三个属性,分别为:margin,padding,border

margin指盒子的外边距;padding指大盒子内边与盒子内容的距离;border就指盒子的边框。不理解的可以看下图:

两天学会css基础(一)

块级元素都可以看做是一个盒子。

既然提到了块级元素,那就顺便说一说HTML元素的三种类型。改属性由css中的display属性控制。

display:block;:块级元素。在浏览器内独占一行,可以设置宽高。代表元素<h1>,<p>,<div>等。

display:Inline-block;:行内块级元素,可以设置宽高,一行可以同时存在多个。代表元素:<img>,<input>。

display:Inline;:行内元素,不可以设置宽高,大小由内容决定。代表元素<a>,<b>,<span>等

但是这三种类型是可以通过display属性设定的。以上举例只是该元素的默认display属性。

其实一个网页就是由一个个大小不同的盒子构成的。通过对盒模型的学习,为后面搭建页面结构奠定基础。

第二部分:基础选择器

选择器又是什么?为什么要学习选择器?

个人理解,要对HTML标签结构进行样式修饰,必须先找到要修饰的标签。选择器的作用就是帮助我们选择获取我们要进行样式修饰的HTML标签。

Css中常用的基础选择器有七种,

1,标签选择器

标签选择器的名字就是选择器名。

写法如下:

标签名{

属性1:属性值1;

属性2:属性值2;

属性3:属性值3;

........

}

作用:会将所有的这类标签都加上相同的css属性

2,类选择器

类名是由标签的class属性进行定义的。

写法如下,类名前面需要加上一个点

.类名{

属性1:属性值1;

属性2:属性值2;

属性3:属性值3;

........

}

作用:会选择到页面上所有拥有这个类名的元素

3,id选择器

id名是由标签的id属性进行定义的。

写法如下,id名前面需要加上一个井号。

#id名{

属性1:属性值1;

属性2:属性值2;

属性3:属性值3;

...........

}

作用:元素的id值是唯一的,只能对应于文档中某一个具体的元素。

将拥有这个id名的唯一元素加上css样式。

补充:

1、id选择器与类选择器的区别

a、id选择器 相当于人的身份证

一个id名只能设置给一个元素并且元素只能有一个id

b、class类选择器  相当于人的名字,会有重名的现象。

多个元素可以设置同样的class 一个元素也能有多个不同的class名

2 、id选择器与类class选择器的命名规则

   2.1、命名的取值规范只能是:0-9,a-z,A-Z,_,-,

2.2、不能以数字开头

4,并集选择器

作用:将两种类型的元素全部选择出来。

多个选择器用逗号隔开,代码:

选择器1 ,选择器2{

属性名1:属性值1;

属性名2:属性值2;

.......

5,交集选择器

作用:从两个集合中选择中它们相同部分:

多个选择器紧挨着写,代码:

选择器1选择器2 {
属性名1:属性值1;

属性名2:属性值2;

.......

}

6,后代选择器

作用:选择一个标签中所有后代标签里满足条件的标签。

代码:

选择器(空格)选择器 选择器 {

属性名1:属性值1;

属性名2:属性值2;

.......

7,子代选择器

作用:得到 当前标签中的直接子元素(直接放在标签下面没有经过任何标签的嵌套)

多个选择器用右尖括号连接,代码:

选择器>选择器{

属性名1:属性值1;

属性名2:属性值2;

.......

8通配符

*

作用:用于作用于页面上所有的标签.

代码:

<style>

* {

属性名1:属性值1;

属性名2:属性值2;

.......

}

</style>

注意:通配符在进行选择的时候,会去遍历页面上所有的标签,并且给这些标签设置对应的属性。

更多的css3选择器后续再做补充。

选择器的概念讲完了,我们就可以通过选择器对HTML元素设置样式了。

不同的选择器会有不同的应用场合,只能在练习中慢慢体会了。

选择器的权重

学到了选择器,还不得不说一下权重的问题了。

不同选择器的优先级是不同的,对同一个属性设置不同的值,优先级高的选择器设置的样式会把优先级低的层叠掉。这也就是css的特性之一:层叠性。

同时css还有一个特性称为,继承性。也就是说对某个父元素设置了css属性,其子元素没有进行设置,这时候默认会继承父元素的属性。

优先级:

!important>行内样式>id选择器>类选择器>标签选择器>通配符>浏览器默认样式>继承

!important 的优先级最高,实际用的不是太多,一般会在调试代码时用到。用的时候直接写到要作用的属性值后面。但是请注意:!important属性无法继承。

div {

color: red !important;

}

行内样式优先级其次,在css代码书写位置时已经讲过,就是将css直接以属性的形式写在HTML标签里。

Id选择器,类选择器,标签选择器,通配符,继承这些上面都说过了。

还有一个浏览器默认样式,不同的标签浏览器会有给个默认的样式,比如a标签默认会有一个下划线,颜色是蓝色的等。

  • 计算组合选择器的权重
  • (0,0,0,0)
  • (improtant,id选择器,类选择器,标签选择器)

(0,0,0,0)==》第一个0对应的是important的个数,第二个0对应的是id选择器的个数,第三个0对应的类选择器的个数,第四个0对应的是标签选择器的个数,就是当前选择器的权重。

  • 规则
  • 1. 先看有没有选中,如果选中了,那么以(id数,类数,标签数)来计权重。谁大听谁的。如果都一样,听后写的为准。
  • 2. 如果没有选中,那么权重是0。如果大家都是0,就近原则。

注意选择器的工作原理:选择器在查找元素的时候不是从左往右找,而是从右往左找。

两天学会css基础(一)

OK,到这里css的选择器部分算是讲完了,学习完选择器我们就可以对元素进行样式修饰了,如何修饰?请看下面常用样式修饰部分。

第三部分 常用样式修饰

常用样式设置:

1,尺寸大小width,height

对于一个元素,我们可以通过它的宽高width,height来设定它的大小。注意属性值的单位是像素px,也可以用百分比的形式。

如下:div{

width:200px;

height:  100px;

}

div{

width:80%;

height:  100%;

}

2, 背景background

背景相关的属性:

background-image:设置背景图片。写法:background-image:url(图片的路径);//默认情况下图片如果比容器要小,它会平铺。

background-repeat:设置背景是否平铺:

取值:

no-repeat:不平铺

repeat-x:在水平方向上平铺

repeat-y:在垂直方向上平铺

repeat:平铺

background-position:设置背景图片的位置

用法:

background-postion: x y;

注意:x,y可以是具体的数值

x,y又可以是一些英文单词。

x: left 左  center 中 right 右

y: top 上  center 中 bottom下

背景的连写方式

background: background-color background-image background-repeat background-position;

3, 字体font:

字体样式相关的属性:

font-size: 18px;  字体大小

font-weight: bold或者normal或者100-900的整数;  字体粗细

font-family: "微软雅黑";  字体类型

font-style: normal或者italic;   字体样式

Font的连写方式

Font-size 和font-family 必须写

Font:Font-style font-weight font-size font-family;

4, 文本text

text-align用于设定文字的对齐方式

有三种方式

left: 内容左对齐。

center: 内容居中对齐。

right: 内容右对齐。

text-indent:用于文字缩进。属性值可直接用像素值px表示。

text-decoration: 用于修饰文本none | underline | overline | line-through

none:

指定文字无装饰

underline:

指定文字的装饰是下划线

overline:

指定文字的装饰是上划线

line-through:

指定文字的装饰是贯穿线

line-height:定义行高。

word-spacing: 定义单词间的空白(即字间隔)。

p {

word-spacing:25px;

}

5, 颜色color:

有3种定义颜色的形式,

1, 颜色关键字表示法,可直接用英文单词来定义,比如red,blue,green等。

2, 16进制表示法,用#000000到#ffffff区间内的16进制数来表示。

3, 三原色表示法,rgb(r,g,b),其中r,g,b分别代表红色,绿色,蓝色,取值范围为0到255.

6, 边框border

border有三个属性,宽度,样式,颜色。常用样式分为solid实线,dashed虚线,dotted点线,double双线轮廓

border:1px solid red;这是border的复合写法。也可以分开来写

border-width: 5px;

border-style: dashed;

border-corlor: #ccc;

此外。四个边也可以分别进行修饰,如border-top,border-bottom,border-left,border-right

分别对应上下左右四个边。

7,margin,padding

margin和padding的样式设置基本相同。可以给四个边设置同一个值,也可以对四个方向进行分别设置,如margin-top,padding-left等,数值可以是像素px,也可以是百分比。

值得注意的一点是,margin可以为负值,而padding不可以。

8,列表样式list-style

经常会用到的就是清除列表的默认样式list-style:none;

list-style-image:url(skin/ico.png); 设置列表前面的小图标,

9,超链接样式

链接的四种状态:

  • a:link - 普通的、未被访问的链接
  • a:visited - 用户已访问的链接
  • a:hover - 鼠标指针位于链接的上方
  • a:active - 链接被点击的时刻

其他样式的设置可以查阅w3school的css教程。

以上部分只是我在工作中经常用到的最基本的样式设置,肯定不够全面,在这里只是针对入门级的同学。如果想了解更多还请查阅http://www.w3school.com.cn/css/index.asp

版权所有,如需转载请注明出处。