PS:其实我不知道你是什么的布局,按照你描述的需求,我个人觉得一般每行放几个标签,是根据浏览器的分辨率来分的。比如我把标签设置成220像素宽,浏览器一行是1000像素,放四个刚刚好,那么就放四个;浏览器是800像素,只能放三个,那么就放三个。我觉得每个标签应该设置成一样的,而不是先放了几个,再设置标签的宽度。就是说先有了标签宽度,再确定一行放几个,而非一行放了几个了再确定宽度。
简单说一下比如在新闻页
在最上面定义一个
page="news"
因为不知道你是用什么语言,所以我就用ASP来举例子。
然后在你菜单那个文件里
<li<%if page="index" then%>class="active" <%end if%>><a href="index.asp">首页</a></li<%if page="news then%>class="active" <%end if%>><li><a href="news.asp">新闻</a></li>
大概是这样子,原理就是在每个页面page值直接在菜单那里,判断
也有用JS,JQ来做的
其实原理都是一样的
每个页面定义一个ID,或者直接把你所有菜单数做成一个数组,
在菜单页面判断ID或者读取这个数组,用JS或者JQ来写个class就行了。
<div id="did" class="defcls"></div>
js 使用 ...style.[css属性(第二个首字母大写)]
var dom = document.getElementById( "did" )dom.style.color = "#000"
dom.style.fontSize = "30px"
因为js选择元素很麻烦,所以建议引入jquery 库,操作元素很方便。也是常用的做法。
jquery
$('.defcls').css({color:'#000',fontSize:'20px'})以上是直接修改元素的属性。直接修改 CSS样式表 就很麻烦了,一般不这样做。
js直接修改页面中的CSS样式表
var Hsheet = window.frames.wpages.document.styleSheets[0]//找到样式表function setRules(name){
for(var i = 0 i < Hsheet.cssRules[0].cssRules.length i++){
if(Hsheet.cssRules[0].cssRules[i].selectorText===name){ //找到样式
Hsheet.cssRules[0].cssRules[i].style.color = "#000"
break
}
}
}
setRules('defcls')
这个方式比较罕见,只有在即为特殊的情况下,才会直接修改样式表,也是效率最低的一种。