伪元素选择器

伪元素选择器可以通过CSS操作文本内容。

first-letter:选择首个字设置样式

/*给class值为p1的标签的文本首字母设置样式*/
.p1:first-letter { }

before:在标签之前插入内容

/*在每个p标签之前插入内容*/
p:before {
content:"内容";
}

after:在标签之后插入内容

/*在每个p标签之后插入内容*/
p:after {
content:"内容";
}

使用场景:

  1. 用于清除浮动带来的负面影响
  2. 使用伪元素选择器添加的内容无法在页面的html中找到,所以可以防止被爬取。

选择器优先级

有了这么多的选择器,CSS样式设计经常会出现对同一个标签设置多个样式,标签选择的样式是有优先级的。

相同选择器的情况:就近原则,谁离得近就选择哪个样式。比如使用link导入的样式和style添加的样式,谁里的标签近,标签就选择哪个。

不同选择器的情况:行内选择器 > id选择器 > 类选择器 > 标签选择器。

CSS属性

宽和高

属性 描述
width 设置元素宽度
height 设置元素高度

块级标签才能设置宽度,内联标签的宽度由内容来决定。

/*p标签的宽度设为100px,高度设为50px*/
p {
width:100px;
height:50px;
}

字体样式

属性 描述
font-family 设置字体样式
font-size 设置字体大小
font-weight 设置字体粗细
color 设置字体颜色

font-family

设置字体样式,如"宋体"、"微软雅黑"等。

/*设置p标签字体样式为微软雅黑*/
p {
font-family:"微软雅黑";
}

font-size

设置字体大小,有多种单位,一般都是使用像素(px)做单位。

/*设置p标签字体大小为18px*/
p {
font-size:18px;
}

font-weight

设置字体粗细,有多个值可以选择。

描述
normal(默认值) 标准粗细
bold 粗体
bolder 更粗
lighter 更细
100~900 设置具体粗细,400等同于normal,而700等同于bold
inherit 继承父元素字体的粗细值
/*设置p标签字体粗细为粗体*/
p {
font-weight:bold;
}

color

设置字体颜色,有三种格式。

  • 十六进制值 - 如: #FF0000
  • 一个RGB值 - 如: RGB(255,0,0)
  • 颜色的英文名称 - 如: red

还有rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间。

/*设置p标签字体颜色为红色*/
p {
color:red;
}

文字属性

属性 描述
text-align 设置文本的对齐方式
text-decoration 设置文字的特殊效果
text-indent 设置文字缩进

text-align

设置文本的对齐方式。

描述
left(默认值) 左对齐
right 右对齐
center 居中对齐
justify 两端对齐
/*设置p标签文本居中显示*/
p {
text-align:center;
}

text-decoration

设置文字的特殊效果。

描述
none(默认) 标准的文本
underline 定义文本下的一条线
overline 定义文本上的一条线
line-through 定义穿过文本下的一条线
inherit 继承父元素的text-decoration属性的值

a标签定义后,文本内容默认都有个下划线,我们可以使用这个属性去掉下划线。

/*设置a标签文本的默认下划线去除*/
a {
text-decoration:none;
}

text-indent

设置文字缩进。有多种单位。

/*设置p标签文本缩进18px*/
p {
text-indent:18px;
}

背景属性

属性 描述
background-color 设置背景颜色
background-image 设置背景图片
background-repeat 设置背景是否重复
background-position 设置背景位置
background-attachment 设置背景是否固定
background 可以同时设置上述属性

background-color

设置背景颜色。

/*设置p标签背景颜色为红色*/
p {
background-color:red;
}

background-image

设置背景图片,通过url设置,可以是本地图片,也可以是网络图片。

/*设置p标签背景图片为1.jpg*/
p {
background-image:url('1.jpg');
}

background-repeat

设置背景是否重复。

描述
repeat(默认) 背景图片平铺排满整个标签
repeat-x 背景图片只在水平方向上平铺
repeat-y 背景图片只在垂直方向上平铺
no-repeat 背景图片不平铺
/*设置p标签背景图片不重复(不平铺)*/
p {
background-repeat:no-repeat;
}

background-position

设置背景图片位置,可以使用left/right/top/bottom设置,也可以用像素设置位置。

/*设置p标签背景图片位于左下*/
p {
background-position:left bottom;
}

background

同时设置背景的所有属性。

/*设置p标签背景图片为1.jpg,不重复且位于左下*/
p {
background:url('1.jpg') no-repeat left bottom;
}

边框属性

边框属性可以给标签设置边框。

属性 描述
border-width 边框宽度
border-style 边框样式
border-color 边框颜色
border 同时设置宽度、样式、颜色
border-radius 设置边框的圆角

边框样式(border-style)

描述
none 无边框
dotted 点状虚线边框
dashed 虚线边框
solid 实线边框
/*设置p标签的边框为实线,颜色为红色,宽度为2px*/
p {
border-width:2px;
border-style:solid;
border-color:red;
}
/*使用border简写*/
p {
border:2px solid red;
}

还可以单独设置上下左右的边框。

p {
border-left-width:2px; /*设置左边的边框宽度*/
border-top-color:red; /*设置上边的边框颜色*/
border-right:2px solid red; /*设置右边边框的所有属性*/
}

border-radius

这个属性能实现圆角边框的效果,将border-radius设置为宽或高的一半即可得到一个圆形。

display属性

属性:值 描述
display:none 隐藏元素,页面上不会保留位置也不显示
display:block 让元素具备块级元素的特性
display:inline 让元素具备行内元素的特性
display:inline-block 使元素同时具有行内元素和块级元素的特点
visibility:hidden 隐藏元素,但是位置会保留

盒子模型

所有的标签都可以看出是一个盒子,这个盒子有着各项属性。

属性 描述
margin 各个标签之间的距离
padding 内容与边框之间的距离
border 标签的边框
content 标签里的内容

margin

设置外边距,可以单独设置上下左右的边距。

p {
margin-top:1px; /*上边距*/
margin-right:2px; /*右边距*/
margin-bottom:3px; /*下边距*/
margin-left:4px; /*左边距*/
}

也可以简写,如果是4个值,分别为:上 右 下 左

p {
margin:1px 2px 3px 4px;
}

如果是3个值,分别为:上 左右 下

p {
margin:1px 2px 3px;
}

如果是2个值,分别为:上下 左右

p {
margin:1px 2px;
}

如果是1个值,那就是上下左右都设置。

p {
margin:1px;
}

padding

设置内边距,用法与margin相同。

补充

1.body标签默认自带8px的margin值,我们在编写页面之前应该去掉。

* {
margin:0;
}

2.想要让盒子居中,可以设置margin值。

margin:0 auto;

浮动(float)

作用:在 CSS 中,任何元素都可以浮动,可以让元素脱离正常的文档流,比如块级元素一个占一行,但是浮动可以让块级元素在一行显示。

影响:浮动会造成父元素塌陷。

不浮动:



浮动后:

float

描述
left 向左浮动
right 向右浮动
none(默认值) 不浮动

父元素塌陷代码演示

html的body代码

<div class="d1">
<div class="d2"></div>
<div class="d3"></div>
</div>

css代码

.d1 {
border: 2px solid black;
}
.d2 {
width: 100px;
height: 100px;
background-color: red;
float: left;
}
.d3 {
width: 100px;
height: 100px;
background-color: blue;
float: left;
}

补充

浮动的元素有时候也会遮挡住底下的区域,但是如果区域内有文本内容,那么浏览器会遵循文本内容优先展示的原则,会想法设法让文本展示出来。

清除浮动

clear属性可以用于清除浮动,防止元素被覆盖或者防止父元素塌陷。

描述
left 在左侧不允许浮动元素
right 在右侧不允许浮动元素
both 在左右两侧均不允许浮动元素
none(默认值) 允许浮动元素出现在两侧
inherit 规定应该从父元素继承 clear 属性的值

清除父元素塌陷代码演示

html的body代码

<div class="d1">
<div class="d2"></div>
<div class="d3"></div>
<div class="d4"></div>
</div>

css代码

.d1 {
border: 2px solid black;
}
.d2 {
width: 100px;
height: 100px;
background-color: red;
float: left;
}
.d3 {
width: 100px;
height: 100px;
background-color: blue;
float: left;
}
.d4 {
clear: left;
}

或者使用万能去塌陷公式:让父元素使用伪元素选择器。

html

<div class="d1 clearfix">
<div class="d2"></div>
<div class="d3"></div>
</div>

css

.clearfix:after {
content: '';
clear: both;
display: block;
}

选择器补充与CSS属性的更多相关文章

  1. {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性  定位(position)z-index

    前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...

  2. css知识点补充、css属性、

    1.媒体查询的css代码的优先级要比其他的高! 2.text-overflow: 定义文本溢出父级元素如何处理!    clip/ellipsis/string 3.overflow: visible ...

  3. CSS属性选择器温故-4

    1.属性选择器就是通过元素属性来找到元素 2.属性选择器语法 CSS3遵循了惯用的编码规则,通配符的使用提高了样式表的书写效率,也使CSS3的属性选择器更符合编码习惯 3.浏览器兼容性 CSS选择器总 ...

  4. IE7浏览器下CSS属性选择器二三事

    一.为何专门说起IE7 以前,或者说数年前,我们从事桌面端网页开发的时候,基本上都还要兼顾IE6浏览器, 即使有些特性,IE7支持,我们也会忽略之.于是,我们会不自然地把IE6和IE7浏览器归为一路货 ...

  5. CSS.01 -- 选择器及相关的属性文本、文字、字体、颜色、

    与html相比,Css支持更丰富的文档外观,Css可以为任何元素的文本和背景设置颜色:允许在任何元素外围设置边框:允许改变文本的大小,装饰(如下划线),间隔,甚至可以确定是否显示文本. 什么是CSS? ...

  6. 前端基础----CSS语法、CSS四种引入方式、CSS选择器、CSS属性操作

    一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如: h1 {color:red; font-size:14px;} 二.CSS四种引入方式 1,行内式 行内式是在标 ...

  7. 前端学习 -- Css -- 属性选择器

    属性选择器:根据元素的属性选择指定元素 语法:[属性名] 选取含有指定属性的元素 [属性名="属性值"]:选取属性值等于指定值的元素 [属性名^="属性值"]: ...

  8. CSS 属性选择器的深入挖掘

    CSS 属性选择器,可以通过已经存在的属性名或属性值匹配元素. 属性选择器是在 CSS2 中引入的并且在 CSS3 中得到了很好拓展.本文将会比较全面的介绍属性选择器,尽可能的去挖掘这个选择器在不同场 ...

  9. CSS属性、伪类选择器,CSS3选择器

    CSS1时IE6是部分支持,伟大的IE6!CSS2时IE6部分支持,伟大的IE6依旧是部分支持!CCS3盛行CSS4也已经提上日程的现在,IE6完全不支持.IE6你该走了,我们会永远记住你的功绩的!I ...

随机推荐

  1. angular组件开发

    项目中经常会有一些公共组件,比如header,如果每个页面都写一遍的话显得很冗余,而且不利于维护,这时候我们就会考虑将这些公共部分抽取出来,做成一个单独的组件. 然而angular不是很熟悉啊~怎么啵 ...

  2. 多页面共用sessionStorage的实现

    sessionStorage的局限:   sessionStorage是页面级别的,仅在一个标签页生效,如果同一个浏览器同时打开多个标签页,且都访问同一个域名,sessionStorage是不会在这多 ...

  3. Hadoop 3.1.2报错:xception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "hdfs"

    报错内容如下: Exception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No ...

  4. Java 多选框的全选、多选、反选(JQuery 实现)

    jQuery 实现全选.多选.反选 学习内容: 需求 总结: 学习内容: 需求 jQuery 实现全选.多选.反选 实现代码 <!DOCTYPE html> <html lang=& ...

  5. 剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)

    目录 14.1 本篇概述 14.1.1 游戏引擎简介 14.1.2 游戏引擎模块 14.1.3 游戏引擎列表 14.1.3.1 Unreal Engine 14.1.3.2 Unity 14.1.3. ...

  6. Conda 配置 Python 环境

    目录 前言 一.Conda 是什么 二.如何获取 三.使用 Conda 命令配置多环境 1.创建新环境 2.激活新环境 3.配置新环境 4.退出新环境 5.检查所有环境 6.检查所有安装的包 7.删除 ...

  7. linux系统从pci.ids文件获取硬件设备详细厂商信息

    机器采样: [root@ht24 hwdata]# cat /etc/redhat-release ; uname -r CentOS Linux release 7.9.2009 (Core) 3. ...

  8. Java数组的常见算法2

    1. 求数值型数组中元素的最大值.最小值.平均值.总值等 2. 数组的复制.反转.查找(线性查找.二分法查找)

  9. metasploit基本命令

    一.核心命令 ? 帮助命令 banner 显示一个真棒metasploite横幅 cd 更改当前的工作目 color 切换颜色 connect 连接与主机通信 exit 退出控制台 get 获取特定于 ...

  10. PicCompress —— 一款精简的图片压缩工具

    PicCompress 说明 之前上传博客图片过大不方便加载,还有一些微信平台的图片无法上传有大小限制,于是就打算开发个压缩图片的工具 支持图片格式 PNG(.png) JPEG(.jpg, .jpe ...