邀朋友种豆,一起分享吧
喜欢购买正品行货?那就去品牌街

web标准常见问题整理

来自:种豆 时间:2017-12-29 阅读:511次 原文链接

0.怎么在同一台电脑上同时调试IE6IE7IE8及其他浏览器
1.超链接访问过后hover样式就不出现的问题
2.FF下如何使连续长字段自动换行
3.ff下为什么父容器的高度不能自适应
4.IE6的双倍边距BUG
5.IE6下绝对定位的容器内文本无法正常选择的问题
6.IE6下为什么图片下方有空隙产生
7.IE6下这两个层中间怎么有间隙
8.list-style-image无法准确定位的问题
9.LI中内容超过长度后以省略号显示的方法
10.web标准中定义id与class有什么区别吗
11.如何垂直居中文本
12.如何对齐文本与文本输入筐
13.为什么FF下面不能水平居中呢
14.为什么FF下文本无法撑开容器的高度
15.为什么IE6下容器的宽度和FF解释不同呢
16.为什么web标准中IE无法设置滚动条颜色了
17.为什么我定义的样式没有作用呢
18.为什么无法定义1px左右高度的容器
19.为什么这个背景颜色无法显示
20.怎么样才能让层显示在FLASH之上呢
21.怎样使一个层垂直居中于浏览器中
22.图片在容器内垂直居中
23.如何让三列横向排列
24.通用的加入收藏夹代码
25.复制到系统剪贴板之IE,ff兼容版
26.javascript为FF设置首页
27.IE6使用滤镜使PNG图片透明后,容器内链接失效的问题
28.禁用文本框中文输入法的通用方法

解决办法:

1.超链接访问过后hover样式就不出现的问题

被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A

2.FF下如何使连续长字段自动换行

众所周知IE中直接使用 word-wrap:break-word 就可以了, 这里FF中我们使用JS插入
的方法来解决,如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>lianxi</title>
<style type="text/css">

div {
width:300px;
word-wrap:break-word;
border:1px solid red;
}

</style>
</head>
<body>
<div id="ff">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
<script type="text/javascript">

function toBreakWord(intLen){
var obj=document.getElementById("ff");
var strContent=obj.innerHTML; 
var strTemp="";
while(strContent.length>intLen){
strTemp+=strContent.substr(0,intLen)+"&#10;"; 
strContent=strContent.substr(intLen,strContent.length); 
}
strTemp+="&#10;"+strContent;
obj.innerHTML=strTemp;
}
if(document.getElementById  &&  !document.all)  toBreakWord(37)

</script>
</body>
</html>

3.ff下为什么父容器的高度不能自适应

为什么这个P撑不开DIV呢?解决的办法是在div 与 p 之间插入<div ></div>清除掉这个p的浮动.

4. IE6的双倍边距BUG

浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline

5. IE6下绝对定位的容器内文本无法正常选择的问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
<head profile="http://www.w3.org/2000/08/w3c-synd/#">
<meta http-equiv="content-language" content="zh-cn" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>lianxi</title>
<style type="text/css">

div {position:absolute;top:100px;left:100px;width:200px; height:200px; border:1px solid red; }

</style>
</head>
<body>
<div>
<a href="#">
web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全
</a>
</div>
</body>
</html>

6. IE6下为什么图片下方有空隙产生

解决这个BUG的方法也有很多,可以是改变html的排版,或者定义img 为display:block
或者定义vertical-align属性值为vertical-align:top | bottom |middle |text-bottom
还可以设置父容器的字体大小为零,font-size:0

7. IE6下这两个层中间怎么有间隙

这个IE的3PX BUG也是经常出现的,解决的办法是给.right也同样浮动 float:left 或者相对IE6定义.left margin-right:-3px;

8. list-style-image无法准确定位的问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
<head profile="http://www.w3.org/2000/08/w3c-synd/#">
<meta http-equiv="content-language" content="zh-cn" />
<meta http-equiv="content-type" content="text/html;charset=gb2312" />
<title>lianxi</title>
<style type="text/css">

li {
list-style:url("http://bbs.blueidea.com/attachments/2006/11/10/arrowb_kJrcZheJmiIF.gif");
}
li a {
position:relative;
top:-5px;
font:12px/25px 宋体;
}

</style>
</head>
<body>
<ul>
<li><a href="#">web标准常见问题大全</a></li>
<li><a href="#">web标准常见问题大全</a></li>
<li><a href="#">web标准常见问题大全</a></li>
<li><a href="#">web标准常见问题大全</a></li>
<li><a href="#">web标准常见问题大全</a></li>
</ul>
</body>
</html>

在这里采取的是相对定位的解决办法

9. LI中内容超过长度后以省略号显示的方法

只用给li设置样式就可以

li {
width:200px;
white-space:nowrap;
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
overflow: hidden;
}

此方法适用与IE与OP浏览器

10.web标准中定义id与class有什么区别吗

一.web标准中是不容许重复ID的,比如 div id="aa" 一个页面中不容许重复2次,而class 定义的是类,理论上可以无限重复的, 这样需要多次引用的定义便可以使用他.class还可以同时引用多个类,不同的类之间用空格隔开.
二.属性的优先级问题,ID 的优先级要高于class
三.方便JS等客户端脚本,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单.

11.如何垂直居中文本

给容器设置一个与其高度相同的行高就可以了

12.如何对齐文本与文本输入筐

遇到此种问题,设置文本框的    vertical-align:middle 就可以了

13.为什么FF下面不能水平居中呢

FF下面设置容器的左右外补丁为auto就可以了,即margin:0 auto;

14.为什么FF下文本无法撑开容器的高度

标准浏览器中固定高度值的容器是不会象IE6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉
height设置min-height:200px;  这里为了照顾不认识min-height的IE6 可以这样定义:

{
height:auto!important;
height:200px;
min-height:200px;
}

15.为什么IE6下容器的宽度和FF解释不同呢

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
<head profile="http://www.w3.org/2000/08/w3c-synd/#">
<meta http-equiv="content-language" content="zh-cn" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>lianxi</title>
<style type="text/css">
div { cursor:pointer;width:200px;height:200px;border:10px solid red;}
</style>
</head>
<body>
<div onclick="alert(this.offsetWidth)">web标准常见问题大全</div>
<hr/>
</body>
</html>

问题的差别在于容器的整体宽度有没有将边框(border)的宽度算在其内,这里IE6解释为200PX ,而FF则解释为220PX,那究竟是怎么导致的问题呢?大家把容器顶部的xml去掉就会发现原来问题出在这,顶部的申明触发了IE的宽松(兼容)模式(quirks mode)

16.为什么web标准中IE无法设置滚动条颜色了

body {
scrollbar-face-color:#f6f6f6;
scrollbar-highlight-color:#fff;
scrollbar-shadow-color:#eeeeee;
scrollbar-3dlight-color:#eeeeee;
scrollbar-arrow-color:#000;
scrollbar-track-color:#fff;
scrollbar-darkshadow-color:#fff;
}

解决办法是将body换成html

17.为什么我定义的样式没有作用呢

#aa ul li {
color:red
}
.aa {
color:blue
}

这里你无法用.aa定义到li 遇到这种情况怎么解决呢?答案是提高.aa 的优先权 比如#aa ul li.aa 优先权

18.为什么无法定义1px左右高度的容器

IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px

19.为什么这个背景颜色无法显示

20.怎么样才能让层显示在FLASH之上呢

<div>
web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全web标准常见问题大全
</div>
<object type="application/x-shockwave-flash" data="http://gg.blueidea.com/2005/www/m533-104.swf">
<param name="movie" value="http://gg.blueidea.com/2005/www/m533-104.swf" />
</object>
css样式:
div {
position:absolute;
top:20px;
left:20px;
width:200px;
height:200px;
background:red
}
object {
width:500px;
height:100px;
}

解决的办法是给FLASH设置透明<param name="wmode" value="transparent" />或者<param name="wmode" value="opaque" />

21.怎样使一个层垂直居中于浏览器中

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>lianxi</title>
<style type="text/css">

div {
position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -100px;
width:200px;
height:200px;
border:1px solid red;
}

</style>
</head>
<body>
<div>使这个div层垂直居中</div>

</body>
</html>

这里我使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二

22 .图片垂直于容器内

见标题链接

23.如何让三列横向排列

横向排列DIV可以使用浮动的方式比如float:left,或者用内联方式,还可以绝对定位对象等等.
例:第一种:
<body>
<div></div>
<div></div>
<div></div>
</body>
样式:

div {
float:left;
margin:1px;
width:200px;
height:200px;
background:orange
}

第二种:
<body>
<div >1</div>
<div >2</div>
<div >3</div>
</body>
样式:

div {
position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -300px;
}

第三种:
<body>
<span></span>
<span></span>
<span></span>
</body>
样式:span {
margin:1px;
display:-moz-inline-box;
display:inline-block;
width:300px;
height:200px;
background:orange;
}

24.通用的加入收藏夹代码

<script type="text/javascript">

function bookmark(){
var title=document.title
var url=document.location.href
if (window.sidebar) window.sidebar.addPanel(title, url,"");
else if( window.opera && window.print ){
var mbm = document.createElement('a');
mbm.setAttribute('rel','sidebar');
mbm.setAttribute('href',url);
mbm.setAttribute('title',title);
mbm.click();}
else if( document.all ) window.external.AddFavorite( url, title);
}

</script>
<a href="javascript:bookmark()">加入收藏夹</a>

25.复制到系统剪贴板之IE,ff兼容版

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script type="text/javascript">
// <![CDATA[
function copy_clip(copy){
if (window.clipboardData){
window.clipboardData.setData("Text", copy);}
else if (window.netscape){
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) return;
trans.addDataFlavor('text/unicode');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext=copy;
str.data=copytext;
trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid=Components.interfaces.nsIClipboard;
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);}
alert("已复制"+copy)
return false;
}
// ]]>
</script>
<h1>请另存代码测试</h1>
<input type="text" id="ff" value="www.blueidea.com" /><button onclick="copy_clip(document.getElementById('ff').value)">复制
</button>

26.javascript为FF设置首页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script type="text/javascript">
// <![CDATA[
function setHomePage(){
if(window.netscape){
try { 
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 

catch (e) {}}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage','http://www.blueidea.com');
}
// ]]>
</script>
<a href="#" onclick="setHomePage()">设置首页</a>

28.禁用文本框中文输入法的通用方法。
IE可以用ime-mode:disabled,firefox3也开始支持IE的这一私有属性

<div>验证码<input type="text" /></div>

其他浏览器不支持用下面的JS:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>lianxi</title>
<style type="text/css">

input,textarea {
width:300px;
height:20px;
border:1px solid
}
textarea {
height:150px
}
#pw {
opacity:0;
display:block;
position:relative;
margin-top:-24px
}
#tt,#pw {
width:100px
}

</style>
</head>
<body>
<table>
<tr>
<td>标题</td>
<td><input type="text"/></td>
</tr>
<tr>
<td>内容</td>
<td><textarea></textarea></td>
</tr>
<tr>
<td>验证码</td>
<td><input type="text" id="tt"/><input type="password" id="pw"/></td>
</tr>
</table>
<script type="text/javascript">

var ee = document.getElementById('pw');
ee.onkeyup = function p() {
document.getElementById('tt').value = ee.value;
}

</script>
</body>
</html>

 

<<前一篇 html5中的全新亮点 玩转CSS3色彩  后一篇>>
 
关于种豆 ┊ 联系我们 ┊ 免责声明 ┊ 发帖须知 ┊ 请提意见 ┊ 站点地图
本站为个人爱好兴趣分享网站,不代表本人观点,如有侵权请联系QQ3033380280进行处理
sowsoy.com 版权所有 Copyright©2010-2021 备案号:蜀ICP备2020025376号-3
Email:sowsoy#hotmail.com