浮动 定位 伪类 伪元素

目录

一、浮动

1.float属性:规定元素如何浮动,用于定位和格式化内容。

2.clear属性:规定哪些元素可以在清除的元素旁边以及在哪一侧浮动。

3.clearfix属性:解决元素的溢出问题。

二、定位

1、文档流(flow)定位

2、浮动(float)定位(同浮动)

3、层(layer)定位

三、伪类

1、anchor伪类

2、伪类和CSS

3、first-child

四、伪元素

1、"first-line"伪元素

2、"first-letter" 伪元素

3、":before" 伪元素

4、":after" 伪元素

五、总结


一、浮动

1.float属性:规定元素如何浮动,用于定位和格式化内容。

left - 元素浮动到其容器的左侧

right - 元素浮动在其容器的右侧

none - 元素不会浮动(将显示在文本中刚出现的位置),默认值。

inherit - 元素继承其父级的 float 值

no-float:图像将显示在文本中刚出现的位置

2.clear属性:规定哪些元素可以在清除的元素旁边以及在哪一侧浮动。

none - 允许两侧都有浮动元素,默认值

left - 左侧不允许浮动元素

right- 右侧不允许浮动元素

both - 左侧或右侧均不允许浮动元素

inherit - 元素继承其父级的 clear 值

3.clearfix属性:解决元素的溢出问题。

overflow:指定如果内容溢出元素框会发生什么情况

overflow-x:指定当溢出元素的内容区域时,如何处理内容的左/右边缘。

overflow-y:指定当溢出元素的内容区域时,如何处理内容的上/下边缘。

 属性值:visible:默认,不裁剪,在元素框外渲染。

                hidden:裁剪,不可见。

                scroll:裁剪,添加滚动条。

                auto:类似于scroll,仅在必要的时候添加滚动条。

 

 

二、定位

1、文档流(flow)定位

块级元素    display:block;

元素的width、height、padding、margin都可以进行设置。

常用元素:<div> <p> <h1>-<h6> <ol> <ul> <table> <form>

<!DOCTYPE html>
<html>
<head>
<style>
span {
  display: block;
}
</style>
</head>
<body>

<span>值为 "block" 的 display 属性会导致</span><span>两元素间的换行。</span>

</body>
</html>

行内(内联)元素        display:inline;

不单独占一行,width、height不可进行设置。

常用元素:<span> <a> <br>

<!DOCTYPE html>
<html>
<head>
<style>
div {
  display: inline;
}
</style>
</head>
<body>
<div>inline使得块级元素变成行内样式</div>
<div>inline使得块级元素变成行内样式</div>
</body>
<html>

行内块级元素        display:inline-block;

同时具备inline元素、block元素的特点,不单独占据一行,元素的width、height、padding、margin都可以进行设置。

常用元素:<img> <input>

元素不被显示的时候使用 display:none;

2、浮动(float)定位(同浮动)

3、层(layer)定位

1、平面定位的属性:top,bottom,left,right(必须先使用position属性)

2、position属性:static、fixed、relation、absolute

position:static;

HTML 元素默认情况下的定位方式为 static(静态)。

静态定位的元素不受 top、bottom、left 和 right 属性的影响。

position: static; 的元素不会以任何特殊方式定位,它始终根据页面的正常流进行定位。

position:fixed;

position:fixed;的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。

固定定位的元素不会在页面中通常应放置的位置上留出空隙。

position:relative;

position:relative; 的元素相对于其正常位置进行定位。

设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。

position:absolute;

 position:absolute;的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。

然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。

三、伪类

伪类用于定义元素的特殊状态。

作用:设置鼠标悬停在元素上时的样式;

           为已访问和未访问链接设置不同的样式;

           设置元素获得焦点时的样式;

1、anchor伪类

a:link:未访问的链接

a:visited :已访问的链接 

a:hover :鼠标划过链接 

a:active :已选中的链接 

注意: 在CSS定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。

            在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

            伪类的名称不区分大小写。

2、伪类和CSS

伪类和CSS 可以配合使用。

a.red:visited {color:#FF0000;}
 
<a class="red" href="css-syntax.html">CSS 语法</a>

3、first-child

 1、  first-child:选择父元素的第一个子元素。

<!DOCTYPE html>
<html>
<head>
<style>
p:first-child
{
	color:red;
} 
</style>
</head>
<body>
<p>This is some text.</p>
<p>This is some text.</p>
<p>在此例中,只有第一个标签p才会变成红色,其他的P标签都没有颜色的变化。</p>
</body>
</html>

 2、<p>元素的第一个 <i> 元素

<!DOCTYPE html>
<html>
<head>
<style>
p > i:first-child
{
	color:red;
} 
</style>
</head>

<body>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
</body>
</html>

3、选择器匹配所有 <p> 元素中的第一个 <i> 元素

<!DOCTYPE html>
<html>
<head>
<style>
p:first-child i {
  color: blue;
} 
</style>
</head>
<body>

<p>我是一个<i>强壮</i>的男人。我是一个<i>强壮</i>的男人。</p>

<p>我是一个<i>强壮</i>的男人。我是一个<i>强壮</i>的男人。</p>

</body>
</html>

 4、lang伪类

<!DOCTYPE html>
<html>
<head>
<style>
q:lang(en) {
  quotes: "~" "~";
}
</style>
</head>
<body>

<p>Some text <q lang="en">A quote in a paragraph</q> Some text.</p>

<p>在本例中,:lang 为 lang="en" 的 q 元素定义引号:</p>

</body>
</html>

四、伪元素

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

1、"first-line"伪元素

用于向文本的首行设置特殊样式。

注意:1、"first-line" 伪元素只能用于块级元素。

           2、下面的属性可应用于 "first-line" 伪元素:

                font properties

                color properties 

                background properties

                word-spacing

                letter-spacing

                text-decoration

                vertical-align

                text-transform

                line-height

                clear

2、"first-letter" 伪元素

用于向文本的首字母设置特殊样式

注意: 1、"first-letter" 伪元素只能用于块级元素。

            2、下面的属性可应用于 "first-letter" 伪元素: 

                font properties

                color properties 

                background properties

                margin properties

                padding properties

                border properties

                text-decoration

                vertical-align (only if "float" is "none")

                text-transform

                line-height

                float

                clear

3、":before" 伪元素

可以在元素的内容前面插入新内容。

<!DOCTYPE html>
<html>
<head>
<style>
h1::before {
  content: url(/i/photo/smile.gif);
}
</style>
</head>
<body>

<h1>这是一个标题</h1>

<p>::before 伪元素在一个元素的内容之前插入内容。</p>

<h1>这是一个标题</h1>

</body>
</html>

4、":after" 伪元素

可以在元素的内容之后插入新内容。

<!DOCTYPE html>
<html>
<head>
<style>
h1::after {
  content: url(/i/photo/smile.gif);
}
</style>
</head>
<body>

<h1>这是一个标题</h1>

<p>::before 伪元素在一个元素的内容之前插入内容。</p>

<h1>这是一个标题</h1>

</body>
</html>

五、总结

1、通过多次写博客,我可以感受到自己的知识得到了扩充,同时写博客可以让自己巩固所学的知识,加深理解。

2、我觉得在今后的学习过程当中,还需要多动手实践,把自己的所学的知识应用到实际问题当中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值