CSS复习


# CSS复习

CSS语法

img

选择器通常是您需要改变样式的 HTML 元素。

每条声明由一个属性和一个值组成。

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开

例:

p
{
    color:red;
    text-align:center;
}

上面的p为选择器,color为属性,blue为声明的值,结果为把改段落变成红色

CSS注释

CSS注释以 /* 开始, 以 */ 结束

CSS ID和CLASS选择器

ID选择器

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

例:将id=para1的HTML元素居中

#para1
{
	text-align:center;
} 

<p id="para1">Hello World!</p>
class选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用

例:以下所有拥有 center 类的 HTML 元素均为居中。

.center
{
	text-align:center;
}

<h1 class="center">标题居中</h1>
<p class="center">段落居中。</p> 

CSS创建

插入样式表的方法有三种:

1.外部样式表(实际开发时使用较多)

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

浏览器会从文件 mystyle.css 中读到样式声明,并根据它来格式文档。(注意是引入新的css文件来对文档进行格式化)

2.内部样式表(单个文档,练习使用)

<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>

在head标签里创建style标签,然后就可以写css属性了

3.内联样式# 系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

CSS背景

CSS 背景(background)属性用于定义HTML元素的背景。

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

2.background-image 属性描述了元素的背景图像,但是默认该属性会在页面的水平或者垂直方向平铺。

3.background-repeat 属性 可以解决background-image 属性带来的平铺,使用方法如下

background-repeat:no-repeat;

4.background-position 属性改变图像在背景中的位置,例如下方可以把图片放在浏览器右上方

background-position:right top;

:可以简写,简写顺序为background-color,background-image ,background-repeat,background-position 例:

body {background:#ffffff url('img_tree.png') no-repeat right top;}

CSS文本格式

1.color颜色属性被用来设置文字的颜色。三种方式:

body {color:red;}//颜色名
h1 {color:#00ff00;}//十六进制
h2 {color:rgb(255,0,0);}//RGB值

h3{color:rgbd(255,0,0,0.5);}  //D为Depth,即颜色深度

2.text-align文本排列属性是用来设置文本的水平对齐方式

3.text-decoration 属性用来设置或删除文本的装饰。(一般用来删除链接的下划线)

4.text-transform文本转换属性是用来指定在一个文本中的大写和小写字母。

5.text-indent文本缩进属性是用来指定文本的第一行的缩进。

CSS字体样式

1.font-family 属性设置文本的字体系列。

2.font-style属性主要是用于指定斜体文字的字体样式属性。

3.font-size 属性设置文本的大小。注:1em=16px

h1 {font-size:2.5em;}

CSS链接样式

1.a:link {color:#000000;} /* 未访问链接*/*

2.a:visited {color:#00FF00;} /* 已访问链接 */

3.a:hover {color:#FF00FF;} /* 鼠标移动到链接上 /

4.a:active {color:#0000FF;} /* 鼠标点击时 */

CSS列表属性

1.list-style-type属性指定列表项标记

2.list-style-image指定列表项标记的图像,使用列表样式图像属性

CSS表格

1.border属性,指定CSS表格边框

 border: 1px solid black;

而问题是因为元素之间有独立的边界,表格会出现类似如下情况:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z7BQPKDb-1637512242144)(C:\Users\86152\Desktop\表格.png)]

2.border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开,用来解决上述情况

  border-collapse:collapse;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4OSTpHcO-1637512242146)(C:\Users\86152\Desktop\表格2.png)]

3.Width和height属性定义表格的宽度和高度。

4.text-align属性设置水平对齐方式,向左,右,或中心:

CSS盒子模型

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

CSS box-model

1.Margin(外边距) 清除边框外的区域,外边距是透明的

2.Border(边框) 围绕在内边距和内容外的边框。

3.Padding(内边距)清除内容周围的区域,内边距是透明的。

4.Content(内容)盒子的内容,显示文本和图像。

div {
    width: 300px;
    border: 25px solid green;
    padding: 25px;
    margin: 20px;
}

上面的div盒子本来只有300px宽,然而我们需要加上盒子两边边框宽度50(25*2),加上左边距和右边距40(20 *2),左右填充50(25 *2)最后得440px,因此实际开发时对盒子宽高的设置应该更加的仔细

CSS边框

1.border-style属性用来定义边框的样式(dotted: 定义一个点线边框,solid: 定义实线边框,dashed: 定义一个虚线边框等等)

2.border-width属性为边框指定宽度。

3.border-color属性用于设置边框的颜色。

4.单独设置边框各边

border-top-style:dotted;
    border-right-style:solid;
    border-bottom-style:dotted;
    border-left-style:solid;

简写:

border-style:dotted solid double dashed;

默认顺序是上,右,下,左

CSS轮廓

1.outline-color 设置轮廓属性

2.outline-style设置轮廓样式

3.outline-width设置轮廓宽度

CSS 外边距

img

例:

margin:25px 50px 75px 100px;

顺序是上,右,下,左,与border一样,后续其他属性也是如此

CSS 内边距 填充

例:

 padding:25px 50px 75px 100px;

CSS分组和嵌套选择器

分组选择器
h1,h2,p
{
	color:green;
}
</style>

在样式表中很多具有相同样式的元素,为了尽量减少代码,我们可以使用分组选择器,每个选择器用逗号分隔。

嵌套选择器

例:

p
{
    color:blue;
    text-align:center;
}
.marked
{
    background-color:red;
}
.marked p
{
    color:white;
}
p.marked{
    text-decoration:underline;
}

其中,.marked p{}为所有 class=“marked” 元素内的 p 元素指定一个样式。p.marked{}为所有class=“marked”p 元素指定一个样式。

CSS尺寸

CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样,它允许你增加行间距,常用:

1.height 属性设置元素高度

2.width属性设置元素宽度

3.line-height属性设置行高

CSS显示

隐藏元素的方式

1.display属性设置为"none",即display:none

2.visibility属性设置为"hidden",即visibility:hidden

注意:display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

Display改变块和内联元素

1.块级元素特性:

总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;

宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制

常见: p , pre , table , ul , licenter , dir , div , dl , fieldset , form

2.内联元素特性:

和相邻的内联元素在同一行;

宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/mar等gin-bottom)都不可改变,就是里面文字或图片的大小;

常见:select , small , span, i , img , input 等

而利用CSS中display属性,我们可以将他们互相转换

display:block – 显示为块级元素

display:inline – 显示为内联元素

display:inline-block – 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

CSS定位

position 属性指定了元素的定位类型

static定位
position: static;

HTML 元素的默认值,即没有定位,遵循正常的文档流对象

fixed定位

元素的位置相对于浏览器窗口是固定位置。

即使窗口是滚动的它也不会移动:

position:fixed;
relative定位(重要)

相对定位元素的定位是相对其正常位置。

h2.pos_left
{
    position:relative;
    left:-20px;
}

相对正常位置左移20px,也可写成right:20px

假设原来的元素是A,定位后的元素是B,relative表示的是B相对于A,即相对于自身.

absolute定位(重要)

绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于:

position:absolute;
    left:100px;
    top:150px;

上面的代码可以理解为,该元素使用了绝对定位,该元素离浏览器顶部150px,离页面左边100px

sticky定位

sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位

当页面滚动超出目标区域时,它会固定在目标位置。

CSS Overflow

CSS overflow 属性用于控制内容溢出元素框时显示的方式。他的属性值如下:

visible:默认值。内容不会被修剪,会呈现在元素框之外。

hidden:内容会被修剪,并且其余内容是不可见的。

scroll:内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。

auto:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

inherit: 规定应该从父元素继承 overflow 属性的值。

CSS浮动

CSS 的 Float(浮动),会使元素向左或向右移动(不能上下移动),其周围的元素也会重新排列

float:left;//元素向左浮动

清除浮动:元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

clear 属性指定元素两侧不能出现浮动元素。

清除浮动的方式不止这一种

CSS对齐

元素居中对齐

要水平居中对齐一个元素(如

), 可以使用 margin: auto;

div{
    margin: auto;
}

将div盒子居中水平对齐

文本居中对齐

如果仅仅是为了文本在元素内居中对齐,可以使用 text-align: center;

 text-align: center;
左右对齐

1.我们可以使用 position: absolute; 属性来对齐元素:

.right {
    position: absolute;
    right: 0px;
}

绝对定位,right:0px,所以是右对齐

2.我们也可以使用 float 属性来对齐元素

.right {
    float: right;
}

使用float属性让元素右对齐

**注意:**如果子元素高度大于父元素,并且子元素设置了浮动,那么子元素将溢出,这时候可以使用overdlow清除浮动

overflow: auto;
垂直居中对齐

CSS 中有很多方式可以实现垂直居中对齐。

  1. 一个简单的方式就是头部顶部使用 内边距padding:
padding: 70px 0;

上面代表表示该元素离父盒子的上下边距都为70px

2.使用line-height可以实现垂直居中

  line-height: 200px;
    height: 200px;

上述代码中,我们通过将line-height的值等于height的值来实现垂直居中

3.除了使用 paddingline-height 属性外,我们还可以使用 transform 属性来设置垂直居中

CSS组合选择符(器)

后代选择器

后代选择器用于选取某元素的后代元素。

div p
{
}

上述代码选取的是div元素中的p元素

子元素选择器

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素直接/一级子元素的元素。

例:

div>p
{
	background-color:yellow;
}

<div>
<h2>My name is Donald</h2>
<p>I live in Duckburg.</p>
</div>

<div>
<span><p>I will not be styled.</p></span>
</div>

两个div,位于上面的div由于p元素是div的一级子元素,所以他的样式会被修改,而位于下方的p元素是在span盒子中,span盒子在div中,不是div的一级子元素,因此样式不会被修改

相邻兄弟选择器

相邻兄弟选择器可选择紧接在另一元素后的元素,且二者有相同父元素。

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器

div+p
{
  background-color:yellow;
}

以上实例选取了所有位于

元素后的第一个

元素:

后续兄弟选择器

后续兄弟选择器选取所有指定元素之的相邻兄弟元素。

div~p
{
  background-color:yellow;
}

以上实例选取了所有

元素之后的所有相邻兄弟元素

:

**注意:**上面代码,在div元素前和在div元素里的相邻兄弟元素不会改变样式

CSS伪类

CSS伪类是用来添加一些选择器的特殊效果。伪类可以和css配合使用

anchor伪类

在支持 CSS 的浏览器中,链接的不同状态都可以以不同的方式显示

例:

a:hover {color:red;}

上述代码表示当鼠标移动到链接时,该链接会变成红色

:first-chlid伪类

可以使用 :first-child 伪类来选择父元素的第一个子元素

p:first-child
{
    color:blue;
}

在上面的例子中,选择器匹配作为任何元素的第一个子元素的

元素

我们可以用后代选择器与其结合使用:

p > i:first-child
{
    color:blue;
}

在上面的例子中,选择相匹配的所有

元素的第一个 元素

亦或者:

p:first-child i
{
    color:blue;
}

在上面的例子中,选择器匹配所有作为元素的第一个子元素的

元素中的所有 元素

很绕,多理解,注意他们的先后顺序!!!

:lang伪类

ang 伪类使你有能力为不同的语言定义特殊的规则

CSS伪元素

CSS伪元素也是用来添加一些选择器的特殊效果。

:first-line 伪元素

“first-line” 伪元素用于向文本的首行设置特殊样式。(只能用于块级元素)

p:first-line 
{}
:first-letter 伪元素

first-letter" 伪元素用于向文本的首字母设置特殊样式

:before 伪元素

“:before” 伪元素可以在元素的内容前面插入新内容。

h1:before 
{
    content:url(smiley.gif);
}

上面例子是在每个h1元素前面插入一幅图片

:after 伪元素

“:after” 伪元素可以在元素的内容之后插入新内容。

选择器与其结合使用:

p > i:first-child
{
    color:blue;
}

在上面的例子中,选择相匹配的所有

元素的第一个 元素

亦或者:

p:first-child i
{
    color:blue;
}

在上面的例子中,选择器匹配所有作为元素的第一个子元素的

元素中的所有 元素

很绕,多理解,注意他们的先后顺序!!!

:lang伪类

ang 伪类使你有能力为不同的语言定义特殊的规则

CSS伪元素

CSS伪元素也是用来添加一些选择器的特殊效果。

:first-line 伪元素

“first-line” 伪元素用于向文本的首行设置特殊样式。(只能用于块级元素)

p:first-line 
{}
:first-letter 伪元素

first-letter" 伪元素用于向文本的首字母设置特殊样式

:before 伪元素

“:before” 伪元素可以在元素的内容前面插入新内容。

h1:before 
{
    content:url(smiley.gif);
}

上面例子是在每个h1元素前面插入一幅图片

:after 伪元素

“:after” 伪元素可以在元素的内容之后插入新内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值