【发布时间】:2012-07-22 17:18:25
【问题描述】:
在另一个问题上,我问是否可以在选择文本元素时将字体粗细设置为粗体。这已经在@Eric 的帮助下完成了!但是目前,当你点击一个文本时,你可以愉快地点击另一个文本,这两个文本都会加粗。
如何防止多个文本元素变为粗体?
这是我在 JSFiddle 上的代码:http://jsfiddle.net/6XMzf/ 或以下:
CSS:
html,body {
margin: 0;
padding: 0
}
#background {
width: 100%;
height: 100%;
position: absolute;
left: 0px;
top: 0px;
z-index: 0;
color: white;
}
.stretch {
width:100%;
height:100%;
}
.navigationPlaceholder {
width:100px;
height: 400px;
left: 100px;
top: 100px;
position: absolute;
}
#navigation {
background-color: #000000;
}
#navigationText ul {
font-family: "Yanone Kaffeesatz";
font-weight: 100;
text-align: left;
font-size: 25px;
color: #b2b2b2;
left: 25px;
top: 50px;
position: absolute;
line-height: 40px;
list-style-type: none;
}
.noSelect {
-moz-user-select: none; /* mozilla browsers */
-khtml-user-select: none; /* webkit browsers */
}
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Max Kramer | iOS Developer</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz" />
</head>
<body>
<div id="background" />
<div id="navigation" class="navigationPlaceholder">
<div id="navigationText">
<ul>
<li>iOS</li>
<li>Blog</li>
<li>About</li>
<li>Contact</li>
</ul>
</div>
</div>
</div>
<script type="text/javascript">
var nav = document.getElementById('navigationText');
var navItems = nav.getElementsByTagName('li');
for (var i = 0; i < navItems.length; i++) {
navItems[i].addEventListener('click', function() {
this.style.fontWeight = '400';
}, false);
}
</script>
</body>
</html>
【问题讨论】:
-
你能jsfiddle.net吗?
-
至少在FF 6中,当我点击元素时什么也没有发生。请注意,将元素 HTML 文档放在 jsfiddle 的框架中是不对的。
-
试试这个:jsfiddle.net/6XMzf/1.
-
您还链接到一个不存在的 CSS 文件(在 jsfiddle 上)。在左上角的框架中仍然有一个完整的 HTML 文档。
标签: javascript html css