js赋值<style></style>中的样式

<styletype="text/css">#nav{width:100%;height:auto;float:left;padding:6px;}#navli{heig... <style type="text/css">
#nav{width:100%; height:auto; float:left; padding:6px;}
#nav li{height:150px; float:left; margin:7px; border-radius:10px; background-color:#F36;}
.small{width:46.875%;}
.big{width:95.9375%;}
</style>

<div id="nav">
<li class="big"></li>
<li class="big"></li>
<li class="small"></li>
<li class="small" style="float:right"></li>
<li class="big"></li>
</div>

js如何给#nav li赋值。要根据浏览器实时宽度,按照一个比值实时给#nav li的height和margin赋值。
请回答的人,贴上来的代码都加上清楚的注释
展开
 我来答
匿名用户
2015-08-03
展开全部
  参考如下:
  <div id="div1">
  <p>.....</p>
  </div>
  因为是动态数据,所以#div1的高度是auto,无法获取到具体值。
  var div1=document.getElementById("div1");
  alert(div1.style.height); //没有值
  建议从css上改进。
  比如给中间的div设置css {height:500px;overflow:auto;}这样就能固定高度,多出的内容用滚动条显示。
  或者让尾部div相对中间的div定位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缓步莫迟疑C
2013-05-04 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6430万
展开全部
试试用JS直接向样式中插入一条新规则,利用CSS的可叠加特性,你不必去修改已有的样式定义,只要新定义你需要的样式即可,如:
document.styleSheets[0].addRule("#nav li","height:100px;margin:2px;");
更多追问追答
追问
那我怎么加变量。。。
追答
正常的字符串拼接就行了,假设你两个变量height和margin,则可用如下代码:
document.styleSheets[0].addRule("#nav li","height:"+height+";margin:"+margin+;");
非IE浏览器可用
document.styleSheets[0].insertRule("#nav li{height:"+height+";margin:"+margin+;}",0);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你以为你以为de
2015-06-30 · 知道合伙人软件行家
你以为你以为de
知道合伙人软件行家
采纳数:503 获赞数:1339
某培训机构毕业,大专学位。工作2年,喜欢百度知道答题,可以互相学习共通过进步。

向TA提问 私信TA
展开全部
$('#div').attr('dispaly','none');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式