记录一下平时遇到的css问题
img与div下边有间隔
图片文字等inline元素默认与父级元素的baseline对齐,而baseline又和父级底边有必定间隔(这个间隔和 font-size,font-family 相关),所以设置 vertical-align:top/bottom/text-top/text-bottom 都能够防止这种状况呈现。
1.img标签添加vertical-align:bottom,vertical-align:middle,vertical-align:top;
img{vertica## 标题l-align:bottom;}
2.定义容器里的字体大小为0:
div {font-size:0};
css多行文本溢出省略
eg:第二行超出部分文字省略样式如下
div{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
浏览器出现滚动条页面跳动问题
当页面内容过长浏览器会出现滚动条导致页面发生跳动,影响用户体验,现代浏览器下可以使用css解决这个问题代替js计算。
1.利用calc和vw
.wrap-outer { margin-left: calc(100vw - 100%); }
@media screen and (min-width: 1150px) {
.wrap-outer {margin-left: calc(100vw - 100%); }
}
2.利用:root
html {overflow-y: scroll; }
:root {overflow-y: auto;overflow-x: hidden; }
:root body { position: absolute; }
body {width: 100vw;overflow: hidden; }
font-size:0px作用
父元素设置font-size:0,可避免子元素display:inline-block时之间莫名其妙的间距。
.box{
width: 200px;
height: 30px;
line-height: 30px;
font-size: 0;
}
.box>div{
display: inline-block;
width: 60px;
border: 1px solid #000000;
font-size: 16px;
/*float: left;不建议使用*/
}