CSS(伪类+伪元素+css控制列表样式+背景+浮动)

CSS学习


CSS中伪类与伪元素

由来:
  伪类和伪元素的引入都是因为在文档树里有些信息无法被充分描述,比如CSS没有“段落的第一行”、“文章首字母”之类的选择器,而这在一些出版场景里又是必须的,这一情况下出现的。引用标准中的话:

CSS introduces the concepts of pseudo-elements and pseudo-classes to permit formatting based on 
information that lies outside the document tree.
(CSS 引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化。)
  • 其出现就是为了描述一些现有CSS无法描述的东西。
     
    伪类和伪元素的区别:

1、伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档数外的元素;

2、CSS3规范中要求使用双冒号(::)表示伪元素,以此来区分伪元素和伪类。

然而由于IE8及以下的一些浏览器不兼容双冒号 : : 表示得方法,所以除了少部分伪元素,其余伪元素既可以使用单冒号 : ,也可以使用双冒号 : : 。为了兼容建议使用单冒号:

常见伪元素和伪类具体项:

1、伪元素:

::before/:before              在某个元素之前插入一些内容;

::after/:after               在某个元素之后插入一些内容;

::first-letter/:first-letter  为某个元素中的文字的首字母或第一个字使用样式;

::first-line/:first-line     为某个元素的第一行文字使用样式;

::selection                  匹配用户被用户选中或者处于高亮状态的部分;

::placeholder                 匹配占位符的文本,只有元素设置了placeholder属性时,该伪元素才能生效;

2、伪类:

表示状态:

	:link     选择未访问的链接;

	:visited   选择已访问的链接;

	:hover    选择鼠标指针移入链接;

	:active   被激活的链接,即按下单击鼠标左键但未松开;

以上顺序不能颠倒

	:focus    选择获取焦点的输入字段;
结构化伪类:

	:not        否定伪类,用于匹配不符合参数选择器的元素;

	:first-child   匹配元素的第一个子元素;

	:last-child    匹配元素的最后一个子元素;

	:first-of-type  匹配属于其父元素的首个特定类型的子元素的每个元素;

	:last-of-type   匹配元素的最后一个子元素;

	:nth-child       根据元素的位置匹配一个或者多个元素,它接受一个an+b形式的参数(an+b最大数为匹配元素的个数);

	:nth-last-child   :nth-last-child与:nth-child相似,不同之处在于它是从最后一个子元素开始计数的;

	:nth-of-type      :nth-of-type与nth-child相似,不同之处在于它是只匹配特定类型的元素;

	:nth-last-type     :nth-last-of-type与nth-of-type相似,不同之处在于它是从最后一个子元素开始计数的;

	:only-child       当元素是其父元素中唯一一个子元素时,:only-child匹配该元素;

	:only-of-type     当元素是其父元素中唯一一个特定类型的子元素时,:only-child匹配该元素;

	:target         当URL带有锚名称,指向文档内某个具体的元素时,:target匹配该元素;
表单相关伪类:

	:checked     匹配被选中的input元素,这个input元素包括radio和checkbox;

	:default     匹配默认选中的元素,例如:提交按钮总是表单的默认按钮;

	:disabled     匹配禁用的表单元素;

	:empty       匹配没有子元素的元素。如果元素中含有文本节点、HTML元素或者一个空格,则:empty不能匹配这个元素;

	:enabled     匹配没有设置disabled属性的表单元素;

	:in-range     匹配在指定区域内元素;

	:out-of-range    :in-range相反,它匹配不在指定区域内的元素;

	:indeterminate  当某组中的单选框或复选框还没有选取状态时,:indeterminate匹配该组中所有的单选框或复选框;

	:valid          匹配条件验证正确的表单元素;

	:invalid        :valid相反,匹配条件验证错误的表单元素;

	:optional       匹配是具有optional属性的表单元素。当表单元素没有设置为required时,即为optional属性;

	:required       匹配设置了required属性的表单元素;

	:read-write     匹配处于编辑状态的元素。input,textarea和设置了contenteditable的HTML元素获取焦点时即处于编辑状态

注:伪元素虽然强大,但是还是有一些特定的标签是不支持伪元素 before 和 after 的。诸如 <img> 、<input>、<iframe>,这几个标签是不支持类似 img::before 这样使用。究其原因,要想要标签支持伪元素,需要这个元素是要可以插入内容的,也就是说这个元素要是一个容器,而 input,img,iframe 等元素都不能包含其他元素,所以不能通过伪元素插入内容


CSS控制列表符号

list-style-type

none 无标记。

disc 默认。标记是实心圆。

circle 标记是空心圆。

square 标记是实心方块。

decimal 标记是数字。

decimal-leading-zero 0开头的数字标记。(01, 02, 03, 等。)

lower-roman 小写罗马数字(i, ii, iii, iv, v, 等。)

upper-roman 大写罗马数字(I, II, III, IV, V, 等。)

list-style-image
使用图片代替标记

list-style-position

该属性包含两个值,分别是inside和outside。

默认情况下,list-style-position的属性值为outside。

outside:列表项目标记放置在文本以外,且环绕文本不根据标记对齐;
inside:列表项目标记放置在文本以内,且环绕文本根据标记对齐。

CSS背景

视窗或元素的背景

background-color 背景颜色
background-image 背景图片
background-image:url('paper.gif');
background-repeat 设置背景图片是否重复
repeat	    背景图像将向垂直和水平方向重复。这是默认
repeat-x	只有水平位置会重复背景图像
repeat-y	只有垂直位置会重复背景图像
no-repeat	background-image不会重复

在这里插入图片描述
repeat-x 水平重复:在这里插入图片描述
no-repeat 不重复:在这里插入图片描述
background-attachment设置背景是否跟随内容移动

scroll	背景图片随着页面的滚动而滚动,这是默认的。
fixed	背景图片不会随着页面的滚动而滚动。
local	背景图片会随着元素内容的滚动而滚动。

background-position 设置背景的初始位置
注意对于这个工作在Firefox和Opera,background-attachment必须设置为 “fixed”

left top
left center
left bottom
right top
right center
right bottom
center top
center center
center bottom	如果仅指定一个关键字,其他值将会是"center"

x% y%		第一个值是水平位置,第二个值是垂直。左上角是0%0%。右下角是100%100%。如果仅指定了一个值,其他值将是50%。 默认值为:0%0%

xpos ypos	第一个值是水平位置,第二个值是垂直。左上角是0。单位可以是像素(0px0px)或任何其他 CSS单位。
			如果仅指定了一个值,其他值将是50%。你可以混合使用%和positions

background 设置背景的集合设置(简写属性)

当使用简写属性时,属性值的顺序为::
	background-color
	background-image
	background-repeat
	background-attachment
	background-position

浮动

参考
https://www.cnblogs.com/starof/p/4608962.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值