粘性定位相关理解
概念:定位阈之前为相对定位,top值不生效,当到达这个top值的时候才开始固定
不生效的原因:
粘性定位元素上方还有一个父元素,下方同级父元素的高度大于父元素的时候,不生效,或者父元素的高度和粘性定位元素一样高
其实可以利用这个用作首页的大标题固定
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.con1{
width: 100%;
height: 400px;
background-color: red;
}
.con2{
background-color: #f90;
height: 800px;
}
.con2 .con2_item{
position: sticky;
top: 0;
width: 100%;
height: 20px;
background-color: skyblue;
}
.con3{
width: 100%;
height: 800px;
background-color: yellow;
}
</style>
</head>
<body>
<!-- 粘性定位不生效的原因 -->
<div class="container">
<div class="box">
<div class="con1"></div>
<div class="con2">
<div class="con2_item">粘性定位</div>
</div>
<div class="con3"></div>
</div>
</div>
<script type="text/javascript">
</script></body>
</html>
问题:行内元素行高不生效
参考问题链接:
行内元素(inline标签)设置了行高为什么不生效,还是表现为父盒子的行高?行内元素行高问题终极解释 - superjsman - 博客园 (cnblogs.com)
出现场景:想让文字和前方的label周五福利到同一行显示,结果发现行高属性无效。
思考:
出现问题的原因:
1.父元素行高大于子元素行高的时候,子元素行高无效
2.外面盒子只有一个,因此取内部元素的最大高度为行高特性
解决办法:
图片浮动:float:left;即可