作为一个新手,目前正学着用js写一段在网页上可以同时编辑html,css和js和查看效果的小工具。(类似w3school的实例查看。)效果如下。
http://djtao.top/DongniEditor1.0beta/1.0/
其中关于js控制CSS。。思路是用dom方法创建一个style标签,里面包含css文本(来自文本输入框)。再把它加到head标记里面去。
那么问题来了:html和js暂时没发现问题。但CSS我试了以下,无论如何,建立的css样式,只有第一段语句生效,比如说
body{background:yellow};
h1{color:red};
只有第一行是可用的。如果把h1样式放到首行,那么body的样式就不生效。
我把外链的css文件取消掉后,就可以应用两行样式了。所以我判断是CSS外链文件导致的。求问题解决方案..
如果你需要更多的代码,可以向我我获取更多细节。
建议了解CSS权重。
请不吝明示哈!
我输的body和h1都没有样式冲突的问题。不然也不会用来举例。
我现在网页文件有一个外链css,用来定义这个工具的样式比如文本输入框,按钮等等。通过文本输入框把值传到网页文件作为内联样式。结果就是内联样式的第一行生效,外部样式的后面不生效。
打错字了,最后一句是:内联样式的后面几行都不生效。
@葡萄美酒夜光杯: 这个要看下浏览器识别出来的CSS到底是什么~
@幻天芒: 再一次谢谢你回答我的问题,问题已经解决。原因非常初级。因为我打半天都用了一段错误的css代码去测试。错误就在问题里面...
@葡萄美酒夜光杯: 多了分号,哈哈~
外部样式是否定义了 h1{...}
不止是h1..我的意思是说,当h1样式文本框在第一行时,h1生效,body失效。反正不管在css文本框输入多少语句,只有第一行生效。
是用CSSTEXT添加的css样式吗
用的是value,看了下资料,一般用innerHTML,CSSTEXT好像也行。但貌似跟js文件关系不大..
我取消掉js文件关联,人工在head标签下写一段<style>...</style>的样式。依然是第一行生效,后面不生效。
内容改变触发事件,更新iframe.
document.all取可编辑区域的dom字符串,更新iframe的dom
谢谢,问题已经解决。原因非常初级。因为我一直用了一段错误的css代码去测试。错误就在问题里面...