感谢 ♥ 作者
先不感谢了

CSS入门(定位之浮动定位、伪类之鼠标悬停、光标修改和透明度修改和列表样式)

一、定位


所为定位,实际上就是定义元素框相对于其正常位置,应该出现在哪儿
定位就是改变元素在页面上的默认位置

分类:

普通流定位(元素默认的定位方式)
浮动定位
相对定位
绝对定位
固定定位

1、普通流定位

文档流是页面元素默认的定位方式
块级:从上到下排列(独占一行)
行级:从左到右排列(不独占一行)

2.浮动定位

如果将元素的定位方式设置了浮动定位那么具有以下几个特点

1.浮动元素会脱离文档流,其他未浮动的元素要上前补位
2.浮动元素会停靠在父元素的左边或者右边,或者停靠在其他浮动元素的边缘上
3.浮动元素只会在当前行内浮动
4.浮动元素依然位于父级元素内
5.让多个块级元素处于一行

float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。

注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动元素之后的元素将围绕它。

浮动元素之前的元素将不会受到影响。

如果图像是右浮动,下面的文本流将环绕在它左边:

浮动引发的效果:

1.当父元素的宽度显示不下所有已浮动的元素时,最后一个元素将换行(有可能会被卡住)
2.元素一旦浮动起来,那么将变成块级元素,尤其对行内元素影响最大。
3.文本、行内元素、行内块元素 采用文字环绕的方式排列,是不会被浮动元素压在底下的会巧妙的避开浮动元素

3.清除浮动

元素浮动起来之后,除了影响到自己的位置,还会影响后续元素
如果不想被前面浮动元素影响 可以使用清除浮动来解决这个问题
谁被影响 就在谁身上用
关键字 : clear(clear属性指定段落的左侧或右侧不允许浮动的元素) :

left 清除左浮动
right 清除右浮动
both 不管是左右都清除
浮动元素对父级元素带来的影响


4.如果父级的高度设置100% 或者 没有设置(自适应) 当元素全部浮动起来之后 父级的高度为0时如何去解决:

1.直接给父级设置高度px
弊端:必须要知道父级准确的高度
2.设置父元素浮动
弊端:对后续元素又影响
3.为父级元素设置overflow(溢出)
弊端:如果子级内容有溢出显示的话会被一同隐藏
4.在父元素中追加一个空元素 设置清除浮动

二、CSS的伪类

 

:hover 选择器用于选择鼠标指针浮动在上面的元素。

 

提示::hover 选择器可用于所有元素,不只是链接。

 

提示::link选择器设置指向未被访问页面的链接的样式,:visited选择器用于设置指向已被访问的页面的链接,:active选择器用于活动链接。

 

注释:在 CSS 定义中,:hover 必须位于 :link 和 :visited 之后(如果存在的话),这样样式才能生效。

三、光标修改、透明度修改和列表样式

1.cursor 属性规定要显示的光标的类型(形状)。

  属性值:

url    需使用的自定义光标的 URL。注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。

default  默认光标(通常是一个箭头)

auto   默认。浏览器设置的光标。

crosshair 光标呈现为十字线。

pointer  光标呈现为指示链接的指针(一只手)

move   此光标指示某对象可被移动。

text    此光标指示文本。

wait    此光标指示程序正忙(通常是一只表或沙漏)

help    此光标指示可用的帮助(通常是一个问号或一个气球)。

2.Opacity属性设置一个元素了透明度级别。

属性值:指定不透明度。从0.0(完全透明)到1.0(完全不透明)

3.list-style 简写属性在一个声明中设置所有的列表属性。

可以设置的属性(按顺序): list-style-type, list-style-position, list-style-image.

可以不设置其中的某个值,比如 "list-style:circle inside;" 也是允许的。未设置的属性会使用其默认值

一般只设置第一个值,目前也只学了第一个值: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, 等。)

......

posted @ 2019-12-13 00:31  MDZZZZ  阅读(1108)  评论(0编辑  收藏  举报