整合项目开发过程中遇到的各种小问题
目录
1.只针对打印模式修改css
1 |
|
2.CSS实现单行、多行文本溢出显示省略号
1 |
|
3.js判断浏览器类型,以及是否为手机端
1 |
|
4.对接支付宝支付接口
通过后台接口返回一串字符串形式的html表单,将它渲染到页面上,由于是异步渲染的表单,所以需要手动触发submit事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<template>
<div v-html="ZFBForm"></div>
</template>
<script>
export default {
data() {
return {
ZFBForm: null
};
},
mounted(){
this.ZFBForm = res;
this.$nextTick(() => {
document.forms["alipaysubmit"].submit();
});
}
}
</script>
5.打印html时自动分页
在需要分页的地方加上以下css即可
这个属性好像对原始table结构更友好些,不知为什么,在div结构内存在table时,使用此属性,会出现table的thead在tbody内出现多余重叠现象,原因不明
1
2
page-break-before:auto;
page-break-after:always;
6.高分辨率移动端下,img与img衔接顶部会出现1px的空隙问题
1
2
<img src="img1.jpg" alt="" class="full-img">
<img src="img2.jpg" alt="" class="full-img">
1
2
3
4
.full-img {
width: 100%;
display: block;
}
尝试了许多方法:
1.
1
2
3
4
5
.full-img {
width: 100%;
line-height: 0;
vertical-align:top; // 或者bottom
}
2.在img外围包裹一个div,将div的font-size
设为0
都无效
最后只能加个margin-top:-1px
来 hack 一下
1
2
3
4
5
6
.full-img {
width: 100%;
display: block;
//hack 高分辨率手机下会出现img之间1px的间隙
margin-top: -1px;
}
不过话说回来,要解决两个inline-block元素之间的间距问题,将其父元素的font-size设为0真的很管用
7.当div的宽度为百分比时,如何设置高与宽相等,即自适应正方形
1
2
3
4
5
6
div {
width: 20%;
height: 0; /* 设置高为0,让padding撑起高 */
padding-bottom: 20%; /* 让div的高等于宽 */
border-radius: 50%;
}
此时将padding-top/padding-bottom设置为百分比时,是基于父元素宽度,正好和width相等
8.Uncaught TypeError: $(…).datepicker is not a function
在js项目中遇到这个问题,但是检查了需要引入的jquery文件和插件js文件,也确认了引用条件和语法问题,都没有问题,百思不得其解
后来才发现,项目中同时引用了两个jquery文件,才导致datepicker插件无法使用
因此只要删除其中一个js即可
9.transform:translate (-50%,-50%) 造成文字模糊的问题
有时候需要让一个元素垂直水平居中,最常用的一个方案就是给元素absolute
定位,设置top:50%;left:50%;
,并且使用transform:translate (-50%,-50%)
纠正定位。但这种方案有时候会出现文字模糊的问题。
问题原因:
因为transform
时div的宽度或者高度并不是偶数,移动50%之后,像素点并不是整数,出了小数,和显示像素没有对上。解决方案
- 方案一:将元素宽高设置成偶数
- 方案二:使用flex完成垂直居中,设置排列方向为column,并设置justify-content: center,最后用text-align: center完成水平居中
- 方案三:或者其他垂直居中方案。此处不再列举。
- 方案一:将元素宽高设置成偶数
10.input 的placeholder会出现文本位置偏上的情况
问题表现
input 的placeholder会出现文本位置偏上的情况:PC端设置line-height等于height能够对齐,而移动端仍然是偏上解决方案
设置line-height:normal
11.ios端滚动页面时,fixed元素出现浮动或者抖动的问题
- 解决方案
- 方案一:
demo.html 1
2<div style="height: 100%; overflow: auto;">我是内容</div> <div style="position: fixed">我是fixed</div>
- 方案二:
demo.html 1
2
3<div style="height: 100%; position:relative;"> <div style="bottom:0; position:absolute;"></div> </div>
- 方案一:
12.animation动画结束后如何保持最后的动画状态
1 |
|