标签:css-常用技巧
下面的 css 和 js 是本文章案例中的公共代码段,默认下面每个小dom都引用了这两段代码
* {
padding: 0;margin: 0;
box-sizing: border-box;
}
html body .hidden {display: none;}
.color-ff7d7d {background-color: #ff7d7d;}
.color-fbbb44 {background-color: #fbbb44;}
.color-beb1cd {background-color: #beb1cd;}
.color-7db9a9 {background-color: #7db9a9;}
.clearfix::after,
.clearfix::before {
display: table;
content: "";
}
.clearfix::after {
clear: both;
}
document.querySelector('#btn').addEventListener('click', function () {
document.querySelector('.wrap .content-text').classList.toggle('hidden');
}, false);
1. 这种 stick footer 的方式会增加一个多余的元素:即下面的div.push元素
body {
font-size: 30px;
line-height: 1.5;
}
body,
html {
height: 100%;
}
.wrap {
height: auto;
min-height: 100%;
margin-bottom: -60px;
overflow: auto;
}
.footer,
.wrap .push {
height: 60px;
overflow: hidden;
}
.footer {
clear: both;
}
这种 stick footer 的方式会增加一个多余的元素:即下面的div.push元素
可以在这里添加一个超过视口高度的容器看看效果......
2. footer元素 负margin-top 版本
body {
font-size: 30px;
line-height: 1.5;
}
html,
body {
height: 100%;
}
.wrap {
height: auto;
min-height: 100%;
padding-bottom: 60px;
overflow: auto;
}
.footer {
position: relative;
height: 60px;
margin-top: -60px;
overflow: hidden;
clear: both;
}
footer元素 负margin-top 版本
可以在这里添加一个超过视口高度的容器看看效果......
3. calc版本
body {
font-size: 30px;
line-height: 1.5;
}
.wrap {
min-height: calc(100vh - 60px);
height: auto;
overflow: auto;
}
.footer {
position: relative;
height: 60px;
overflow: hidden;
clear: both;
}
calc版本
可以在这里添加一个超过视口高度的容器看看效果......
4. flex 版本
body {
font-size: 30px;
line-height: 1.5;
}
body,
html {
height: 100%;
}
.wrap {
display: flex;
flex-direction: column;
min-height: 100%;
}
.wrap .content {
flex-grow: 1;
}
.wrap .footer {
clear: both;
}
.color-ff7d7d {
background-color: #ff7d7d;
}
.color-fbbb44 {
background-color: #fbbb44;
}
.color-7db9a9 {
background-color: #7db9a9;
}
flex 版本
可以在这里添加一个超过视口高度的容器看看效果......
5. position: fixed 版本
/* 第一步设置盒子为满屏大小 */
body {
font-size: 30px;
line-height: 2;
}
.wrap {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: auto;
}
/* 第二步子盒子设置最小高度且清除浮动 给一个padding-bottom 等于footer 避免内容被footer遮盖*/
.wrap .content {
min-height: 100%;
padding-bottom: 100px;
}
/* 第三步footer的height和margin-top要相等 */
.wrap .footer {
position: relative;
height: 100px;
margin-top: -100px;
clear: both;
}
position: fixed 版本
可以在这里添加一个超过视口高度的容器看看效果......