首页 新闻 会员 周边 捐助

内联样式和外部样式的同时存在时,内联只有第一行生效。

0
悬赏园豆:50 [已解决问题] 解决于 2016-09-07 23:15

作为一个新手,目前正学着用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外链文件导致的。求问题解决方案..

如果你需要更多的代码,可以向我我获取更多细节。

葡萄美酒夜光杯的主页 葡萄美酒夜光杯 | 初学一级 | 园豆:74
提问于:2016-09-07 12:56
< >
分享
最佳答案
1

建议了解CSS权重。

收获园豆:50
幻天芒 | 高人七级 |园豆:37207 | 2016-09-07 14:36

请不吝明示哈!

我输的body和h1都没有样式冲突的问题。不然也不会用来举例。

我现在网页文件有一个外链css,用来定义这个工具的样式比如文本输入框,按钮等等。通过文本输入框把值传到网页文件作为内联样式。结果就是内联样式的第一行生效,外部样式的后面不生效。

葡萄美酒夜光杯 | 园豆:74 (初学一级) | 2016-09-07 15:49

打错字了,最后一句是:内联样式的后面几行都不生效。

葡萄美酒夜光杯 | 园豆:74 (初学一级) | 2016-09-07 15:50

@葡萄美酒夜光杯: 这个要看下浏览器识别出来的CSS到底是什么~

幻天芒 | 园豆:37207 (高人七级) | 2016-09-07 22:50

@幻天芒: 再一次谢谢你回答我的问题,问题已经解决。原因非常初级。因为我打半天都用了一段错误的css代码去测试。错误就在问题里面...

葡萄美酒夜光杯 | 园豆:74 (初学一级) | 2016-09-07 23:17

@葡萄美酒夜光杯: 多了分号,哈哈~

幻天芒 | 园豆:37207 (高人七级) | 2016-09-08 13:08
其他回答(4)
0

外部样式是否定义了 h1{...}

Yu | 园豆:12990 (专家六级) | 2016-09-07 15:35

不止是h1..我的意思是说,当h1样式文本框在第一行时,h1生效,body失效。反正不管在css文本框输入多少语句,只有第一行生效。

支持(0) 反对(0) 葡萄美酒夜光杯 | 园豆:74 (初学一级) | 2016-09-07 15:43
0

是用CSSTEXT添加的css样式吗

凌晨肆丶的洛杉矶 | 园豆:138 (初学一级) | 2016-09-07 17:08

用的是value,看了下资料,一般用innerHTML,CSSTEXT好像也行。但貌似跟js文件关系不大..

我取消掉js文件关联,人工在head标签下写一段<style>...</style>的样式。依然是第一行生效,后面不生效。

支持(0) 反对(0) 葡萄美酒夜光杯 | 园豆:74 (初学一级) | 2016-09-07 20:17
0

内容改变触发事件,更新iframe.

document.all取可编辑区域的dom字符串,更新iframe的dom

小小高 | 园豆:1307 (小虾三级) | 2016-09-07 21:49
0

谢谢,问题已经解决。原因非常初级。因为我一直用了一段错误的css代码去测试。错误就在问题里面...

葡萄美酒夜光杯 | 园豆:74 (初学一级) | 2016-09-07 23:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册