在作项目时,会遇到一些小问题,如今趁空余时间把这些零散的问题给罗列一下,虽然都是找度娘看各位大神的解答,可是仍是想都整理出来,一来给本身加个印象二来以便之后的运用。css
一、html
问题描述:IOS下,移动端的web页面中input获取焦点弹出系统虚拟键盘时,input框被虚拟键盘挡住了。前端
解决办法:web
(1)canvas
$('input').on('click', function () {segmentfault
var target = this;跨域
// 使用定时器是为了让输入框上滑时更加天然浏览器
setTimeout(function () {app
target.scrollIntoView(true);dom
},100);
});
(2)
$("input").on("focus", function() {
// 使用定时器是为了让输入框上滑时更加天然
var interval = setInterval(function() {
document.body.scrollTop = document.body.scrollHeight;
clearInterval(interval);
}, 200);
});
二、
问题描述:让块元素的文本多行显示,显示不完的省略号代替。
解决办法:
div{
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
三、
问题描述:如何限制textarea仅容许纵向改变大小。
解决办法:
texterea{
resize:vertical; // both横向和纵向均可调整;vertical仅容许纵向的调整;horizontal仅容许横向的调整;none不可调整大小
}
四、
问题描述:在使用textarea的时候,默认前面的文字是在最下面的,须要将文字放在左上角。
解决办法:
textarea{
vertical-align:top;
}
五、
问题描述:如何去掉在谷歌浏览器下video标签出现的下载按钮。
解决办法:
video::-internal-media-controls-download-button { display:none; } video::-webkit-media-controls-enclosure { overflow:hidden; } video::-webkit-media-controls-panel { width: calc(100% + 30px); }
六、
问题描述:float元素浮动后,高度不一致的li致使错位。
解决办法:给换行的第一个li添加clear:left样式
li:nth-of-type(odd){
clear:left
}
这里需啰嗦一句,那个odd不行的话,我就用的even,究竟是由于什么我暂时也还不清楚,若是有人知道能够讲一哈噢。
七、
问题描述:点击某按钮后,让其事件消失即禁用。
解决办法:pointer-events的做用就是让元素实体虚化,能够实现时间的彻底禁用
a{
pointer-events:none;
}
八、
问题描述:当页面很长,遮罩层不能彻底覆盖页面。
解决办法:用fixed,不用absolute
div{
position:fixed;
left:0;
top:0;
right:0;
bottom:0;
margin:auto;
width:100%:
height:100%;
background:rgba(0,0,0,.5);
z-index:9999;
}
九、
问题描述:如何让select文字居中。
解决办法:
select {
text-align: center;
text-align-last: center;
}
十、
问题描述:如何修改placeholder默认的样式。
解决办法:
input::-webkit-input-placeholder { /* WebKit browsers*/
color:#999;font-size:14px;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18*/
color:#999;font-size:14px;
}
input::-moz-placeholder { /* Mozilla Firefox 19+*/
color:#999;font-size:14px;
}
input:-ms-input-placeholder { /* Internet Explorer 10+*/
color:#999;font-size:14px;
}
十一、
问题描述:在全部元素没有超过width:100%的状况下,移动端出现横向滚动条。
解决办法:出现这种状况看一下是否该页面的内容过多,内容过多致使致使页面出现纵向滚动条,占用了页面的宽度
:root {
overflow-y: auto;
overflow-x: hidden;
}
十二、
问题描述:根元素设置了line-height,对其内部元素产生影响,例如根元素的字体大小为100px,里面的块元素设置了高度为50px,那么块元素的高度为50px,里边的内联元素依旧是100px,会撑破块元素。
解决办法:(1)内联元素转化为块元素,不会继承根元素的内容;(2)内联元素改变行高
1三、
问题描述:解决长串英文字母自动换行。
解决办法:
div{
word-wrap:break-word;
word-break:break-all;
}
1四、
问题描述:select默认选中项颜色为灰色,选择后变为黑色。
解决办法:
<script>
$(function () {
var unSelected = "#999";
var selected = "#333";
$("select").css("color", unSelected);
$("option").css("color", selected);
$("select").change(function () {
var selItem = $(this).val();
if (selItem == $(this).find('option:first').val()) {
$(this).css("color", unSelected);
} else {
$(this).css("color", selected);
}
});
})
</script>
1五、
问题描述:解决移动端图片模糊的问题。
解决办法:图片不要用1:1比例的图,用2X的图,这样看起来就很清晰了
1六、
问题描述:实现一个文字搜索的功能,要求输入时,键盘回车按钮提示显示为“搜索”。
解决办法:input type = 'search'实现搜索框,参考连接 http://www.javashuo.com/article/p-pdzifxhu-hp.html
1七、
问题描述:使用html2canvas在前端生成图片。
解决办法:
参考连接
https://segmentfault.com/a/1190000011478657?utm_source=tag-newest
https://www.jianshu.com/p/22bd5b98e38a
需引入html2canvas.js和canvas2image.js;
// 将html绘制成图片
function convert2canvas() {
var shareContent = $('#oCanvas')[0];//须要截图的包裹的(原生的)DOM 对象
var width = shareContent.offsetWidth; //获取dom 宽度
var height = shareContent.offsetHeight; //获取dom 高度
var canvas = document.createElement("canvas"); //建立一个canvas节点
var scale = 2; //定义任意放大倍数 支持小数
canvas.width = width * scale; //定义canvas 宽度 * 缩放
canvas.height = height * scale; //定义canvas高度 *缩放
canvas.getContext("2d").scale(scale, scale); //获取context,设置scale
var opts = {
allowTaint: false,
tainttest:true, //检测每张图片都已经加载完成
scale: scale, // 添加的scale 参数
canvas: canvas, //自定义 canvas
logging: true, //日志开关,便于查看html2canvas的内部执行流程
width: width, //dom 原始宽度
height: height,
useCORS: true, // 【重要】开启跨域配置
};
html2canvas(shareContent, opts).then(function (canvas) {
var context = canvas.getContext('2d');
// 【重要】关闭抗锯齿
context.mozImageSmoothingEnabled = false;
context.webkitImageSmoothingEnabled = false;
context.msImageSmoothingEnabled = false;
context.imageSmoothingEnabled = false;
// 【重要】默认转化的格式为png,也可设置为其余格式
var img = Canvas2Image.convertToImage(canvas, canvas.width, canvas.height);
console.log(img);
$("#oCanvas").append(img);
$(img).attr({
'class':'canvas-img',
"crossorigin":"anonymous"
});
$(img).css({
"position":"absolute",
"left":"0",
"top":"0",
"width":canvas.width / 2 + "px",
"height":canvas.height / 2 + "px",
"z-index":"10000"
})
});
}
1八、
问题描述:动画暂停和运行。
解决办法:animation-play-state属性,paused暂停;running运行
1九、
问题描述:js拼接字符串时须要加空格。
解决办法:使用\xa0,如:
var quality = result[0].foodName + ';' + '\xa0\xa0\xa0' + result[0].weight