认识CSS

1.什么是CSS

  CSS全称为“层叠样式表 (Cascading Style Sheets)”

2.CSS能做什么

  • CSS把很多以前需要使用图片和脚本来实现的效果、甚至动画效果,只需要短短几行代码就能搞定。比如圆角,文字阴影和盒阴影,过度、动画等。
  • CSS简化了前端开发工作人员的设计过程,更灵活的页面布局,更快的页面加载速度。
  • 可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的代码,那么整个站点的所有页面都会随之发生变动。
  • CSS可以支持多种设备,比如手机、PDA、打印机、电视机、游戏机等。
  • 目的:将表现与结构分离。

  简单来说就是,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。

  代码如下:

p{
    font-size:20px;/*设置文字字号*/
    color:red;/*设置文字颜色*/
    font-weight:bold;/*设置字体加粗*/
}

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

3.CSS语法结构

  css 样式由选择符声明组成,而声明又由属性组成,如下图所示:

  

  选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。

  声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔,如下所示:

p{font-size:12px;color:red;} 

  注意:

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

  2、为了使用样式更加容易阅读,可以将每条代码写在一个新行内,如下所示:

p{
  font-size:12px;
  color:red;
}

4.如何引入CSS

  三种方式引入:

  4.1.内行引入:内行引入css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:

<p style="color:red">这里的文字你觉得是不是红色呢?</p>

  并且css样式代码要写在style=""双引号中,如果有多条css样式代码设置可以写在一起,中间用分号隔开。如下代码:

<p style="color:red;font-size:12px">相信我,这里的文字是红色</p>

  4.2.页面引入:就是可以把css样式代码写在<style type="text/css"></style>标签之间。如下代码:

<style type="text/css">
    p{
      color:red;
    }
</style>

  4.3.外部样式表:外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)
    使用<link>标签将css样式文件链接到HTML文件内,如下面代码:

style.css:

body{
  background-color:red;
}

index.html:

<head>
    <link rel="stylesheet" type="text/css" href="style.css"
</head> 

  注意:

  1、css样式文件名称以有意义的英文字母命名,如 main.css。

  2、rel="stylesheet" type="text/css" 是固定写法不可修改。

  3、<link>标签位置一般写在<head>标签之内。

5.CSS优先级

  5.1.样式的优先级:

  多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。

  一般情况下,优先级如下:

  (外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style

  有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。如下代码:

styel.css:

h1{
  color:red;
}

html代码:

<head>
        <!--内部样式-->
    <title>无标题</title>
    <style type="text/css">
    h1{color: green;}
    </style>
        <!--外部样式 style.css-->
    <link rel="stylesheet" type="text/css" href="styel.css">
</head>
<body>
    <h1>测试</h1>
</body>

  简单来说就是:就近原则

  5.2.选择器优先权

  解释:

  1.  内联样式表的权值最高 1000;

  2.  ID 选择器的权值为 100

  3.  Class 类选择器的权值为 10

  4.  HTML 标签选择器的权值为 1

p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/

  注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。

  参考链接

6.CSS代码注释

  css代码注释,以/*开始*/结束。如下代码:

/*公共样式*/
body{font-size:12px;color:red;}

/*导航开始*/
#nav{...
}
/*导航结束*/

7.选择符(也叫选择器)

  每一条css样式声明(定义)由两部分组成,形式如下:

选择器{
  样式;
}

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

  7.1.通配选择符 *

  * 号表示所有的对象

  所谓通配选择符,就是指可以使用模糊指定的方式来对对象进行选择,指定样式。代码入下:

*{
  color:red;
  font-size:12px;
}

  7.2.元素选择符

  所谓元素选择符,指以网页中已有的标签名作为选择符。代码如下:

body{...}

h1{...}

p{...}

  7.3.群组选择符

  除了可以对单个标签进行样式指定外,还可以对一组标签进行相同的样式定义。如下代码:

h1,h2,h3,p{
  font-size:12px;
  color:red;
}

  使用逗号对选择符进行分隔。对页面中需要使用同样式的地方,只需写一次样式。

  7.4.关系选择符

  

选择符 名称 版本 描述
E F 包含选择符(Descendant combinator) CSS1 选择所有被E元素包含的F元素。
E>F 子选择符(Child combinator) CSS2 选择所有作为E元素的子元素F。
E+F 相邻选择符(Adjacent sibling combinator) CSS2 选择紧贴在E元素之后F元素。
E~F 兄弟选择符(General sibling combinator) CSS3 选择E元素所有兄弟元素F。

  7.4.1.子选择符:

  语法:E>F { sRules }

  说明:选择所有作为E元素的子元素F。与包含选择符不同的是,子选择符只能命中子辈元素,而不能命中孙辈。

.food>li{border:1px solid red;}

  7.4.2.包含选择符:

  语法:E F { sRules }

  说明:选择所有被E元素包含的F元素。与子选择符不同的是,包含选择符将会命中所有符合条件的后代,包括儿子,孙子,孙子的孙子...

.first  span{color:red;}

  请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代
元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。

  总结:>作用于元素的第一代后代,空格作用于元素的所有后代。

  7.4.3.相邻选择符:

  语法:E~F { sRules }

  说明:选择紧贴在E元素之后F元素。与兄弟选择符不同的是,相邻选择符只会命中符合条件的相邻的兄弟元素。

p~p{color:red;}

  7.4.4.兄弟选择符:

  语法:E+F { sRules }

  说明:选择E元素后面的所有兄弟元素F。与相邻选择符不同的是,兄弟选择符会命中所有符合条件的兄弟元素,而不强制是紧邻的元素。

p+p{color:red;}

(未完待续...)

时间: 2024-10-10 02:54:14

认识CSS的相关文章

css中的px、em、rem 详解

概念介绍: 1.px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选.Windows系统默认是96dpi,Apple系统默认是72dpi. 2.em(相对长度单位,相对于当前对象内文本的字体尺寸):是一个相对长度单位,最初是指字母M的宽度,故名em.现指的是字符宽度的倍数,用法类似百分比,如:0.8em, 1.2em,2em等.通常1em=16px

CSS样式的优先级

1.相同权值情况下,CSS样式的优先级总结来说,就是--就近原则(离被设置元素越近优先级别越高): 内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中). 2.权值不同时,浏览器是根据权值来判断使用哪种css样式的,哪种样式权值高就使用哪种样式. 下面是权值的规则: 标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100.例如下面的代码: p{color:red;} /*标签,权值为1*/ p span{color:green;} /*两个标签,权值为1+

CSS 之怀疑自己的审美 2 (Day50)

阅读目录 伪类 选择器的优先级 css 属性操作 一.伪类 anchor伪类:专用于控制链接的显示效果 ''' a:link(没有接触过的链接),用于定义了链接的常规状态. a:hover(鼠标放在链接上的状态),用于产生视觉效果. a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接. a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态. 伪类选择器 : 伪类指的是标签的不同状态: a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态

CSS颜色代码大全

CSS颜色代码大全 颜色代码表(一): EEEEEE FFCCFF FF66FF FF00FF DDDDDD FFCCCC FF66CC FF00CC CCCCCC FFCC99 FF6699 FF0099 BBBBBB FFCC66 FF6666 FF0066 AAAAAA FFCC33 FF6633 FF0033 999999 FFCC00 FF6600 FF0000 888888 CCCCFF CC66FF CC00FF 777777 CCCCCC CC66CC CC00CC 666666

如何使用Flexbox和CSS Grid,实现高效布局

CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来. 使用 Flexbox 可以使元素对齐变得容易,因此 Flexbox 已经被广泛使用了. 同时,CSS Grid 布局也为网页设计行业带来了很大的便利.虽然 CSS Grid 布局未被广泛采用,但是浏览器逐渐开始增加对 CSS Grid 布局的支持. 虽然 Flexbox 和 CSS Grid 可

css基础

css绝对是一个能够写到爆炸的东西,so,机智的小北方才不会写各种css样式具体的效果,相比之下更推荐大家记一些常用的key,至于效果,每次用的时候百度下就可以了, css的作用是对符合条件的标签进行渲染,那么首先就要匹配到对应标签啦,我萌有三种基础的模式来匹配希望改变样式的标签 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8">

前端 css 垂直居中及自适应问题

此css作用为将下面div结构中的Container-fluid背景自适应屏幕,content自适应居中 1.Div结构 all Head Container-fluid Content Under <div id="all">   <div  class="head" style="height: 81px;width: 100%;min-width: 1000px;position: relative;">      

css遮罩层

父元素:position:fixed; 让子元素居中对齐:position:absolute;top:0;bottom:0;left:0;right:0;margin:auto; <style> .loading{width:100%;height:100%;position:fixed;top:0;left:0;z-index:100;background:#fff;} .loading .pic {width:50px;height:50px;background:url(images/l

CSS作用域问题

今天去长虹面试,面试官问了一个问题,就是给一个div在三个地方设置不同的background,最后div显示的颜色是哪一个?当时我第一次回答的是最后一个,但是后来又改口说是第一个,回来一验证,证明自己错了,今天就总结一下CSS样式的作用域问题吧. 首先对HTML引入样式的优先级排序,数字越大优先级越高#### 样式优先级1. 浏览器缺省设置2. 外部样式表3. 内部样式表(位于 <head> 标签内部)4. 内联样式(在 HTML 元素内部) ---#### 外部样式表>浏览器缺省设置H

CSS学习

CSS css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. 存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式的优缺点. 语法:style = 'key1:value1;key2:value2;' 在标签中使用 style='xx:xxx;' 在页面中嵌入 < style type="text/css"> </style > 块 引入外部css文件 css写在head里面,style标签中写样式 ID用