CSS简介 mooc笔记

CSS

1、用途:

用来定义HTML内容在浏览器内容的显示样式。(文字大小,颜色,字体加粗等)

2、构成:

CSS由选择符和声明组成,而声明又由属性和值组成。
例如:
p {
color:blue;
}
这里p就是选择符,大括号中的就是声明,color为属性,blue为值,属性和值之间用冒号分隔。
当有多条声明时用分号分隔,通常为了美观,我们一行写一个属性。
p {
font-size:12px;
color:red;
}


3、span的使用

span可以更改字体的颜色。
在使用span前要先在style中定义,

<head>
<style>
span {
		color:red;
}
</style>
</head>
<body>
	<span>这颜色是红塞的</span>
</body>

写在记事本上并且后缀换成html的时候,这时输出的字体是红色的。



4、CSS代码插入的形式
内联式:
<p style = "color:red;">这里文字是红色</p>

如果有多条CSS样式代码,就要用分号分隔。比如:

<p style="color:red;font-size:12px">这里文字是红色。</p>

在这里插入图片描述

嵌入式:

嵌入式就是第三点那样,在style中定义,在body中使用。不一定非要是body,在其它地方也可以使用。

外部式:

外部式也称为外联式,就是把CSS代码与HTML代码分开,单独写在一个外部文件中,这个外部文件是以css为扩展名。
在使用这个CSS时,只需要用<link>标签将CSS文件链接到HTML中,注意是链接到HTML中

例如:
这是以css为后缀名的文件

span{
color:red;
font-size:20px;
}


下面这是html文件,我们用<link>标签将css代码链接到这里,<link>标签一般放在<head>中,其中的rel="stylesheet" type="text/css"是固定写法。stylesheet就是定义一个外部加载的样式表。这里type就是说明这个引用进来的是个CSS样式。
<!DOCTYPE html>
<html>
     <head>
     	<meta charset="UTF-8">
        <title>嵌入式css样式</title>
        <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <span>超酷的互联网</span>、IT技术免费学习平台,创新>的网络
一站式学习、实践体验;
    	<span>服务及时贴心</span>,内容专业、<span>有趣易学</span>。
	</body>
</html>



5、三种插入形式的优先级

内联式<嵌入式<外部式

但在嵌入式<外部式 这里,嵌入式的定义必须放在外部式的后面,否则还是会输出外部式的格式。可以理解为后一个定义的把前一个定义的覆盖了。所以谁定义的迟就是谁的格式。
简单来说就是就近原则



6、选择器

每一条CSS样式声明由两部分组成:选择器和样式。

选择器 {
   样式;
}

  • 选择器指明样式的作用对象,作用的元素
  • 样式就是对文本定义的格式

选择器有标签选择器,标签选择器就是HTML中的标签,例如<html>、
<body>、<p>等。在这里用body举个例子:

<head>
    <meta charset="UTF-8">
    <title>选择器</title>
    <style type="text/css"> 
    body {
        color:blue;
        font-size:20px;         /*字体大小设置为20px*/
        line-height:1.6em;      /*行间距设置为1.6em*/
    }
    </style>
</head>
<body>
    <h1>选择器</h1>    /*文章小标题*/
    <p style = "color:red;">第一段内容</p>      /*将这里设置为红色,看是否遵从就近原则*/
    <p>第二段内容</p>
</body>

这样body中的文字输出的都是上面设置过的格式。同样这里也遵循就近原则。运行如下:
在这里插入图片描述



类选择器:

语法:

.类选器名称{css样式代码;}

以英文句号开头,类选择器可以任意起名,但不要起中文名称。
1、设置类选择器的样式,也就是文本的格式。
2、使用合适的标签把修饰的内容标记。
3、在上面2那个标签中插入 class=“类选择器的名称”

举例:

<head>
.stress{
	color:blue;
	font-size=20px;
}
</head>
<body>
	<span class="stress">内容内容内容内容内容内容</span>
</body>
ID选择器

ID选择器和类选择器差不多。
语法上的区别,就是把类选择器的点改成#,class改成id。

7、类选择器和ID选择器作用上的区别:

① 类选择器可以多次使用,而ID选择器只能使用一次。

注意ID选择器只能使用一次的意思是ID名称只能使用一次,一个ID定义过后使用了一次就不要再用了,虽然还能用,但如果用了第二次其底层就被破坏了。

例如下面这个代码就使用了一次:

<head>
#stress {
color:blue;
font-size=20px;
}
</head>
<body>
<span id="stress">内容内容</span>
</body>

下面这是使用两次的代码,注意这是错误的,错误的原因是使用了两次stress。

<head>
#stress {
color:blue;
font-size=20px;
}
</head>
<body>
<p><span id="stress">内容内容</span>两只老虎,两只老虎。</p>
<p id = "stress">跑得快,跑得快</p>
</body>

下面这个就是正确的:
与上面的不同之处就再于新定义了一个ID选择器。

<head>
#stress1 {           //一个ID选择器
color:blue;
font-size=20px;
}
#stress2 {           //两个ID选择器
color:blue;
font-size=20px;
}
</head>
<body>
<p><span id="stress1">内容内容</span>两只老虎,两只老虎。</p>
<p id = "stress2">跑得快,跑得快</p>
</body>
② ID选择器不能为一个元素设置多重样式

下面这个就是错误的:

<head>
#stress1 {
color:blue;
}
#stress2 {
font-size=20px;
}
</head>
<body>
<p>
<span id="stress1 stress2">内容内容</span>两只老虎,两只老虎。
</p>
</body>

当要为一个元素设置多重样式时,就需要用类选择器。如下:

<head>
.stress1 {
color:blue;
}
.stress2 {
font-size=20px;
}
</head>
<body>
<p>
<span class="stress1 stress2">内容内容</span>两只老虎,两只老虎。
</p>
</body>

在这里我觉得为一个元素设置多重样式时,使用ID选择器可以将多个样式写在同一个定义中。如下:

<head>
#stress {
color:blue;           //这是一个样式
font-size=20px;       //这里又是一个样式
}

</head>
<body>
<p><span class="stress">内容内容</span>两只老虎,两只老虎。</p>
</body>

这样就OK了,但有些情况这样写就不方便了,写CSS时最好都用类选择器了,ID选择器就留给JS的人来写。



8、子选择器

大于符号(>)用于选择指定标签元素的第一代子元素

<head><style>
.stress>li {           //这儿就是用大于号,标记了li
border:1px solid red;
}
</style></head>
<body>
<ul class="stress">
        <li>水果              //第一代
            <ul>
                <li>香蕉</li>   //第二代
                <li>苹果</li>   //第二代
                <li>梨</li>    //第二代
            </ul>
        </li>
        <li>蔬菜			//第一代
            <ul>
                <li>白菜</li>		//第二代
                <li>油菜</li>         //第二代
                <li>卷心菜</li>     //第二代
            </ul>
        </li>
    </ul>
<body>

运行结果:
图片加载失败


9、后代选择器

后代选择器与子选择器的不同之处在于,后代选择器作用于自己想指定的子后代元素。像下面的代码,就是只作用于stress这个选择器下面的li标签中的元素。
例如:

.stress li {      //与子选择器的不同之处是这儿用空格不用大于号。
color:red;
}

将第八点的代码,用后代选择器来实现如下:

<head><style>
.stress li {           /*这儿就是用大于号,标记了li*/
border:1px solid red;
}
</style></head>
<body>
<ul class="stress">
        <li>水果              //第一代
            <ul>
                <li>香蕉</li>   //第二代
                <li>苹果</li>   //第二代
                <li>梨</li>    //第二代
            </ul>
        </li>
        <li>蔬菜			//第一代
            <ul>
                <li>白菜</li>		//第二代
                <li>油菜</li>         //第二代
                <li>卷心菜</li>     //第二代
            </ul>
        </li>
    </ul>
<body>

运行结果:

图片加载失败

由此可知后代选择器作用于所有的被标识的标签。



10、通用选择器

这个选择器最强大,但是最简单,识别html文件中的全部标签。用(*)号指定。
语法:

  • {
    color:red;
    }

举例:

<head>
<title>选择器</title>
<style>
*{
	color:green;
	font-size:12px;
}
</style>
</head>
<body>
	<h2>通用选择器</h2>
	<p>什么是通用选择器</p>
	<通用选择器通俗点说就是将html的整个文本都选中来修改>
</body>

运行结果如下:

加载失败



11、伪类选择器

为什么叫伪类呢?
是因为它可以给html不存在的标签设置样式,举例,鼠标滑过某段文字时,文字的状态的改变。
语法:

a:hover{color:red;}

这里也并不是一定要a开头,主要是因为用a的兼容性比较强,用p的话也可以。
来段代码:

<head>
<title>浏览器标题</title>
<style type="text/css">
	a:hover {
		color:green;
		font-size:20;
	}
</style>
</head>
<body>
<a href="http://www.baidu.com">我会变色的欧,还会变大小,但是不要点我,我是个超链接,会指向百度的</a>
</body>

运行结果:

浏览器标题 我会变色的欧,还会变大小,但是不要点我,我是个超链接,会指向百度的

//这里的运行结果不知道在这个界面会怎么样,在记事本中写的时候是可以的。



12、分组选择器

为什么需要这份分组选择器呢?
当我们需要将两个或者多个标签设置为同一个属性,这时候就需要分组选择器了。
语法举例:

h1,span{color:red;}

在这里h1和span所标识的都被设置为了红色。
代码:

<head>
<title>分组选择器</title>
<style>
h1,span,#first {
	color:red;
}
.second {
	color:blue;
}
</style>
</head>
<body>
<h1>小标题</h1>			//这儿是h1
<p>第一段,曾梦想仗剑走<span>天涯</span>,看一看世界的繁华。</p>		//这儿是span
<p id="first">年少的心总有些轻狂,如今已四海为家。</p>    	//这儿first
<p class="second">第三段dilidilidilidilidengda</p>    		//这儿second
</body>

运行结果:

“你网络看来不好啊”



13、样式的继承

所谓继承就是被作用的标签的子标签也适用。举个例子:
<p>标签中放<span>标签,<p>标签用选择器设置字体颜色。那么在<p>标签中的子标签<span>也同样会被设置为和p一样的颜色。
注意:有些格式不会被继承,比如设置边框 //border:1px solid red;这样。



14、选择器的优先级

这点没什么好说的,当多种不同的选择器作用于同一元素时,会按这样的顺序来选择:

内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器


权值

有时候我们为一个元素设置不同CSS格式,元素会被设置为哪一种形式呢?
有种规定,按照他们的权值大小来判断。

  • 标签的权值为1
  • 类选择符的权值为10
  • ID选择符的权值最高为100。

15、选择器最高级层!important

用法举例:

 <p> {
     color:red!important;
   }
 <p> {
     color:blue;
   }

这时候输出的颜色为红色。

16、设置字体

body{font-family:"宋体";}

现在的网页一般用微软雅黑,即

body{font-family:"Microsoft Yahei";}
设置字体大小:font-size:20px;
设置字体粗细程度:font-weight:bold;

font-weight属性:
normal:正常字体;
bold:粗体
bolder:特粗体
lighter:细体
设置为数字时,只能设置为:100、200、300这个顺序下去一直到900。

设置字体样式:

normal 正常字体
italic 斜体
oblique为设置倾斜的字体,强制将字体倾斜。

设置字体颜色:

color属性可以设置颜色
color的三种设置方式

  • 英文字母
  • RGB颜色
  • 十六进制颜色

这里就不多说了。


简写形式:
body{
font-style:italic;
font-weight:bold; 
font-size:12px; 
line-height:1.5em; 
font-family:"宋体",sans-serif;
}

这么多行的代码其实可以缩写为一句,他们的顺序可以改变,但字体大小和行高之间要用/号隔开:

body{
font:italic  bold  12px/1.5em  "宋体",sans-serif;
}

17、text-decoration添加文本修饰

overline:添加下划线
underline:添加上划线
line-through:穿过文本的线
具体见下面的代码和图:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>文本修饰</title>
    <style type="text/css">
    .stress1 {
        text-decoration: overline;
        color:blue;
    }
    .stress2 {
        text-decoration: line-through;
        color:red;
    }
    .stress3 {
        text-decoration: underline;
        color:green;
    }
    </style>
</head>
<body>
    <p class="stress1">李白&nbsp;&nbsp;&nbsp;&nbsp;<span>一剑天涯</span></p>
    <p class="stress2">妲己&nbsp;&nbsp;&nbsp;&nbsp;<span>让妲己看看你的心</span></p>
    <p class="stress3">猴子&nbsp;&nbsp;&nbsp;&nbsp;<span>超出三界之外,不在五行之中</span></p>
</body>
</html>

运行后: 加载失败



18、对文本的设置

开头空两行:text-indent:2em;
设置行间距:line-height:1.5em;
设置两个字母之间的间距:letter-spacing:50px;
设置单词之间的间距:word-spacing:50px;
将文本居中:text-align:center;
center改为left、right都可以
px(像素)
em:如果在本文件中font-size设置为12px,那么1em就等于12px,也就是说,如果font-size设置为a,那么1em的大小就为a


19、元素的分类及使用特点

在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。内联块状元素,顾名思义是将内联元素和块状元素的特点都继承了下来。

将内联元素转换为块状元素:
span {display:block;}

块状元素转换为内联元素:
display:inline;

将元素设置为内联块状元素:
display:inline-block

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

  • 块级元素的特点:独占一行

  • 内联块状元素特点:
    1、和其他元素都在一行上;
    2、元素的高度、宽度、行高以及顶和底边距都可设置。

常用的内联元素有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

常用的块状元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

常用的内联块状元素有:

<img>、<input>

行内元素还是块状元素都可以给它设置一个背景色。

background-color:颜色值;

20、盒子模型

css内定义的宽(width)和高(height),指的是填充以里的内容范围。

边框:
1、border-style(边框样式)常见样式有:
dashed(虚线)、dotted(点线)、solid(实线)。

2、border-color(边框颜色)可设置为十六进制颜色,如:
border-color:#888;

3、border-width(边框宽度)中的宽度也可以设置为:
thin、medium、thick

4、简写:
div{
border-width:2px;
border-style:solid;
border-color:red;
}可以简写为:
div{
border:2px solid red;
}
5、使用border为盒子添加边框,若想单独设置下边框,或左右上边框。
下边框:div{border-bottom:1px solid red;}
上边框:border-top:1px solid red;
右边框:border-right:1px solid red;
左边框:border-left:1px solid red;

6、我们有时候看到的边框都是圆角的,这里也可以设置圆角。

div{border-radius: 20px 10px 15px 30px;}
设置的顺序从左上开始,顺时针下来,左上,右上,右下,左下。
可以分开写:border-top-left-radius、border-top-right-radius、border-bottom-right-radius、border-bottom-left-radius

7、盒子的内边距:内容与边框之间的距离。
按上右下左的顺序,仍然是顺时针。
div{padding:20px 10px 15px 30px;}
可以分开写:padding-top、padding-right…

8、盒子的外边距:元素与元素间的距离。
div{margin:20px 10px 15px 30px;}
顺序仍然为:上右下左,可以分开写margin-top、margin-right、margin-bottom、margin-left。

21、CSS网页布局模型

元素的三种布局类型:Flow、Layer、Float、

将元素设置为浮动,比如:
div {
border:2px blue solid;
width:200px;
height:400px;
}
#s1 {
float:left;
}
#s2 {
float:right;
}
实现效果:
上面没有一个横杠,截图的时候截上去的。

22、层模型

  • 绝对定位:position: absolute
  • 相对定位:position: relative
  • 固定定位:position: fixed
1、绝对定位

将元素从文档中拿出,使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在就对body元素设置。

例如:

<head>
<meta charset="UTF-8">
<title>absolute样式</title>
<style type="text/css">
div {
    width: 200px;
    height: 200px;
    border: 2px red solid;
    position:absolute;
    right:500px;
    top:200px;
}
</style>
</head>
<body>
<div id="div"></div>
</body>

运行如下:

2、相对定位

相对于正常文档的位置:position:relative;

#div1 {
    width: 200px;
    height: 200px;
    border: 2px red solid;
    position:relative;
    left:100px;
    top:100px;

}

代码:

#div1 {
    width: 200px;
    height: 200px;
    border: 2px red solid;
    position:relative;
    left:100px;
    top:100px;

}
#div2 {
    border:3px blue solid;
    width:100px;
    height:300px;
    position:relative;
    left:100px;
}

运行结果:

注意:偏移前的位置保持不动,这句话是什么意思???就是说曾今的位置还在,只是没有格式,没有文本。那个元素还在。

3、固定定位

在页面的某一处地方不动,比如我们的页面,在鼠标滑动的时候右上角的点赞就没有动,这就是固定定位。👀

position:fixed;

23、Relative与Absolute组合使用

绝对定位是相对于浏览器的,那么我们是不是可以设置相对于其它元素来进行设置呢?当然是可以的。
1、参照元素必须是相对定位元素的前辈元素
2、参照定位的元素必须加上position:relative;
3、定位元素加入position:absolute;,便可以使用top、bottom、left、right来进行偏移定位了。

代码举例:

<head>
    <meta charset="UTF-8">
    <title>absolute样式</title>
    <style type="text/css">
    #div1 {
        width: 100px;
        height: 100px;
        position:relative; 
    }
    #div2 {
        position:absolute;
        top:0px;
    }
    
    </style>
</head>
<body>
    <img id="div1" src="https://img1.mukewang.com/user/533e52b90001456f02000200-40-40.jpg">
    <div id="div2">我是小狗头像</div>
</body>

这里将文字放在图像的顶部。

运行结果:

24、弹性盒模型之flex属性

1、设置display: flex属性可以把块级元素在一排显示。

2、flex需要添加在父元素上,改变子元素的排列顺序。

3、默认为从左往右依次排列,且和父元素左边没有间隙。

代码:

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>absolute样式</title>
<style type="text/css">
    .box {
background: white;
            display: flex;
}
    .box1 {
background: red;
width:100px;
height:50px;
}
.box2 {
background: orange;
width:100px;
height:50px;
}
.box3 {
background: yellow;
width:100px;
height:50px;
}
.box4 {
background: green;
width:100px;
height:50px;
}
.box5 {
background: blue;
width:100px;
height:50px;
}
.box6 {
background: indigo;
width:100px;
height:50px;
}
.box7 {
background: purple;
width:100px;
height:50px;
}
</style>
</head>
<body>
<div class="box">
	<div class="box1"></div>
	<div class="box2"></div>
	<div class="box3"></div>
	<div class="box4"></div>
	<div class="box5"></div>
	<div class="box6"></div>
	<div class="box7"></div>
</div>
</body>

</html>

运行结果:

在这里插入图片描述

justify-content属性设置对其方式:

flex-start:起点对齐
flex-end:右对齐
center:居中
space-between:两端对其
space-around:每两个元素之间的距离相等

flex属性设置占比:

.box {
    background: white;
    display: flex;
}
.box1 {
    flex:1;                       //这里设置了
	background: red;
	width:100px;
	height:50px;
}
    .box2 {
    flex:4;                       //这儿
	background: yellow;
	width:100px;
	height:50px;
}
.box3 {
    flex:2;                         //这儿
	background: blue;
	width:100px;
	height:50px;
}

运行效果:
在这里插入图片描述

25、纵轴排列方式

align-items的属性:
flex-start 默认值左对齐
flex-end:交叉轴终点对齐
center:交叉轴中点对齐
baseline:第一行文字基线对齐
stretch:如果项目未设置高度或设为auto,那么将占用整个容器的高度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值