本文参与4月更文挑战,打卡day10,第十篇
12. 浮动
float
float CSS属性指定一个元素应沿其容器的左侧或右侧放置,允许文本和内联元素环绕它。该元素从网页的正常流动(文档流)中移除,尽管仍然保持部分的流动性(与绝对定位相反)。
由于float意味着使用块布局,它在某些情况下修改display值的计算值:
display为inline或inline-block时,使用float后会统一变成block。
取值:
left:表明元素必须浮动在其所在的块容器左侧的关键字。right:表明元素必须浮动在其所在的块容器右侧的关键字。
clear
在想要强制元素移至任何浮动元素下方或者希望某个段落与浮动元素保持相邻的位置,但又希望这个段落从头开始强制独占一行。此时可以使用clear
取值:
left:清除左侧浮动。right:清除右侧浮动。both:清除左右两侧浮动
实现浮动方法一:让div块元素变成行内块元素(display:inline-block;)此时的浮动块与块左右之间有间隙
实现浮动方法二:float:left 块与块左右之间无间隙 【用于需要div位于同一行】
浮动导致darkgoldenrod有一部分被遮挡,可以使用clear:left;取消这个影响
回到顶部侧边按钮实现
码上掘金地址:回到顶部
一个css部分作业
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 300px;
height: 300px;
/* 外边距是margin 内边距是padding */
margin: 10px;
}
/* :nth-child(n)选择是其父标签第n个子元素的所有元素 */
div:nth-child(1) {
background-color: lightblue;
}
div:nth-child(2) {
background-image: url('/static/images/mountain.jpg');
background-size: 100% 100%;
background-repeat: no-repeat;
}
div:nth-child(3) {
background-image: url('/static/images/mountain.jpg'), url('/static/images/logo.png');
background-size: 50% 100%, 50% 100%;
background-repeat: no-repeat, no-repeat;
background-position: top left, 150px 0;
}
div:nth-child(4) {
background-image: url('/static/images/mountain.jpg');
background-size: 100% 100%;
background-repeat: no-repeat;
/* 背景图片的位置在视口内固定 */
background-attachment: fixed;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
上方代码可以实现的效果是: 所有div标签的宽度和高度均设置为300px,外边距设置为10px。
第一个div的背景颜色设置为lightblue。
第二个div的背景图片设置为url('/static/images/mountain.jpg'),背景图片大小设置为100% 100%,背景图片不重复。
第三个div的背景图片设置为url('/static/images/mountain.jpg'), url('/static/images/logo.png'),背景图片大小设置为50% 100%, 50% 100%,两张背景图片均不重复,两张背景图片的位置设置为top left, 150px 0。
第四个div的背景图片设置为url('/static/images/mountain.jpg'),背景图片大小设置为100% 100%,背景图片不重复,背景图片的位置在视口内固定。
本题来自acwing官网
作者:yxc
链接:www.acwing.com/blog/conten…
来源:AcWing