1.谷歌浏览器支持的字体最小为12px
2.li中图片间隙3px的解决方法:
方法一:img{vertical-align:top;}
方法二:img{display:block;}
方法二:设置容器font-size:0
3.使用锚点时,如果在IE中失效,在<a name="maodian"></a>的前后加文字或空格( )即可。
4.小icon使用display:inline-block时,再使用margin-top会影响高度,在icon的样式中加入position:absolute即可。
5.z-index不管用时加入position:relative
两者之间的影响可参考:http://www.neoease.com/tutorials/z-index/
6.写悬浮时如果是相对于屏幕,用fixed、left/right、top/bottom,如果是相对于内容,用fixed、left:50%、margin-left
7.输入框获得焦点时取消默认文字,失去焦点时如果文本框中有文字则不变,若没有文字则显示默认文字:
<input type="text" class="text" value="默认文字" onFocus="if (value =='默认文字'){value =''}" onBlur="if (value ==''){value='默认文字}"> <textarea class="textarea" onfocus="if(value=='默认文字'){value=''}" onblur="if(value==''){value='默认文字'}">默认文字</textarea>
8.禁止复制,当网页加载的时候就执行,右键菜单也会被屏蔽,同时不能用鼠标点选文字
<script> document.body.onselectstart=document.body.oncontextmenu=function(){return false;};</script>
9.标题列表时有宽度限制用
white-space: nowrap;text-overflow: ellipsis;
超出设置宽度会自动添加省略号,防止用截取字符串函数不适用于中文的情况。
10、在使用UL和LI显示文字的时候,由于IE浏览器对LI的文字长度没有默认强制令起一行。导致如果文字超出UL设定的宽度再先有的位置上折行,造成显示问题。
解决方法:
ul li{
white-space:nowrap;
}
11、去掉IE横向滚动条在以前的HTML标准下,要隐藏横向滚动条, 只需要在CSS里加上
Body{overflow-x:hidden;}
但是在现在的标准 下"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"下面,上面的代码不产生任何效 果,因为现在不是以Body作为容器,而是html标签,所以加入:
HTML{overflow-x:hidden;}
但是这样做了以后,在IE7下,鼠标滚轮上下滚动不起作用了,IE6下却是正常的。多加上一行代码就解决问题了
HTML{ overflow-x:hidden;overflow-y:auto;}
这段可以放入一个全局的css样式中,这样所有弹出窗口(包括模态窗口),所有页面都不会出现横向滚动条。
12、内容部分有限制宽度的,最好在全局样式表中添加一句(比如内容宽度为1000px):
body{min-1000px;}
这一句话可以解决手机访问页面显示不全,浏览器缩小(向下还原)后背景颜色显示不正常的问题。
13、文本输入框若只设置line-height,则在IE中显示高度不对,还需要设置height
14、下拉菜单select默认自带属性box-sizing:border-box,即宽高包括边框和内边距。
若需要下拉菜单和输入框样式保持一致,可以增加以下代码,使select的box-sizing改成其他标签的默认值。
select{ box-sizing:content-box; -moz-box-sizing:content-box; /* Firefox */ -webkit-box-sizing:content-box; /* Safari */ }
15、JS中用 window.onload = Watch(); 在IE7和IE8中报错“尚未实现”,改为 window.onload = new function(){Watch();} 即可。
16、iframe如果是弹窗,背景图片是半透明的,在IE6/7/8中实现半透明效果,需要增加 <iframe allowTransparency="true" /> 这个属性,如果为了追求更好的保障的话,就要加上 iframe{background: transparent;} 。JS中可以使用 iframe.setAttribute("allowTransparency","true"); 或者 iframe.allowTransparency = "true";
17、自适应网页设计中各种布局方式的浏览器支持程度:
Bootstrap 3.3.5 IE8以上
Bootstrap 4.0.0 IE9以上
Flex布局 IE10以上
rem[相对长度单位] IE9以上
18、用JS生成iframe的时候需要将此iframe获取焦点,否则IE中,移除此iframe后,再添加iframe的时候,input没有光标
/* 新增弹窗 参数说明: src为弹窗的文件名 id为弹窗iframe设置的ID type为是否隐藏父窗口的滚动条,0表示不隐藏,1表示隐藏 */ function popupOpen(src,id,type){ if(type){ document.body.style.overflow = "hidden"; } var iframe = document.createElement('iframe'); iframe.src = src + ".html"; iframe.className = "iframe_popup"; iframe.frameBorder = "0"; iframe.id = id; iframe.allowTransparency = "true"; iframe.width="100%"; iframe.height="100%"; document.body.appendChild(iframe); iframe.focus(); $("#"+id).load(function(){ var mainheight = $("#"+id).contents().height(); var bHeight = document.body.scrollHeight; var height = Math.max(mainheight, bHeight); $("#"+id).height(height); }); }
19、左右箭头可换字体来实现较好效果 font-family:
$("div").live("click",function(){ alert("click"); }); $(function(){ $("body").append("<div></div>"); });
由于jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,当加载新版本的jquery文件时,可以使用on,如:
$(function(){ $("body").append("<div></div>"); $("div").on("mouseover mouseout",function(event){ if(event.type == "mouseover"){ //鼠标移入时 }else if(event.type == "mouseout"){ //鼠标移开时 } }); });
21、disabled效果
.disabled{ filter: Alpha(Opacity=30); opacity: .3; cursor: default !important; pointer-events: none; }
pointer-events: none;这个只支持IE11+,PC端慎用
22、手机浏览器wap网页点击链接触发颜色区块的问题解决办法:
html{ -webkit-tap-highlight-color: rgba(0,0,0,0); }