1_文字垂直居中
1 | <div class='father'> |
1 | /* 通用方法,单行多行文字均适用 */ |
1 | /* 单行文字垂直居中 line-height方法 */ |
1 | /* 单行文字垂直居中 伪元素方法(适用于line-height不确定的时候,如高度是百分比) */ |
2_Sticky Footer
说明:这里仅记录2种比较认可的css实现方式,它们都有一定的缺陷,看具体的业务需求使用。JS实现较为简单,不做说明。
1 | <div class="wrapper"> |
实现方案一:absolute
这个方案需指定 html、body 100% 的高度,且 content 的
padding-bottom
需要与 footer 的height
一致。也就是说,对于footer高度不确定的情况,该方式就比较头疼了。margin负值,calc也都是和该原理差不多。好处就是兼容好!
1 | html, body { |
实现方案二:Flex布局
允许页脚的高度是可变的,但是有兼容性问题,见:https://developer.mozilla.org/zh-CN/docs/Web/CSS/flex
1 | html { |
PS: 原文中table的方式有一个缺陷就是容易触发浏览器的重绘回流,这是table布局的固有缺陷,因此不适合用在顶层DOM结构中,会造成性能影响。
3_flex布局最后一行元素左对齐
1 |
|
4_使用伪元素扩大点击区域
1 |
|
5_禁止元素行为(类似disabled的效果)
1 | /* 加上类is-disabled */ |
6_禁止复制
1 | <style> |
参考:https://segmentfault.com/q/1010000021197092
这里js的实现可以使用下面方式禁止复制黏贴框弹出
1 ><div oncontextmenu="return false">我是一段带粘贴的文字</div>
7_样式穿透
在Vue项目中,当我们引入第三方组件库时(如使用element-ui),需要在局部组件中修改第三方组件库样式,而又不想去除scoped
属性造成组件之间的样式覆盖。这时候我们就需要样式穿透
来实现我们想要的效果。
>>>
只作用于css
1 | <style scoped> |
::v-deep
只作用于sass
1 | <style lang="scss" scoped> |
/deep/
只作用于less
1 | <style lang="less" scoped> |
8_固定容器宽高比
1 |
|
9_滚动条样式美化
1 | ::-webkit-scrollbar { |
推荐阅读
本文链接: http://www.ionluo.cn/blog/posts/229e087e.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!