十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
JS控制css样式的几种方式
站在用户的角度思考问题,与客户深入沟通,找到新郑网站设计与新郑网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、域名与空间、网页空间、企业邮箱。业务覆盖新郑地区。
我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:
1,通过style属性或者setAttribute()来更改样式
2,如果只是改变伪类(after,before)的content内容也可以这么做
3,通过更改类名来更改样式
4,那么重点来了:利用document.styleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式
5,动态加载样式表
如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式
本文来自PHP中文网,原文地址: 推荐视频教程:《 js基础教程 》
就不解释什么内联样式、内部样式、外部样式了,不够直观,通俗点或者直观点说好了:
第一优先级是标签上用style设置的css,例如:div style="样式"/div
第二优先级是html页面上在style/style内设置编写的css,例如:
style .divcss{样式}/style
第三优先级是在html页面上引用外部的css样式表,例如:
link href="文件路径" rel="stylesheet" media="screen" /
无论说法是叫优先级还是是加载顺序,都不重要,只要你有这么一个概念就好了,优先级越高,当碰到调用2个或2个以上同类型css的时候,只会调用优先级最高的那1个,要记住,每个标签上只能调用同类型css一次,比如你设置了宽度width:200px;那么你再在其他调用方式中设置了width:300px;或其他值,那么只会按优先级调用1个width值,其他的将会是无效值,不过切记,只是在这个标签上失效
提高网站页面的加载速度的方法其实有很多,那本文主要从下面四个角度进行讨论,分享常用的提高网页加载速度的技巧:
一、网页压缩技术
对于网页压缩而言,相信各位站长都比较熟悉,主要是启用服务器Gzip,对页面Gzip压缩,减少元素的体积,从而减少数据的传输,进而提高网页的加载速度。
二、Css优化
(1)css位置
CSS说明如果出现在body后,页面需要重新渲染,打开速度受到影响。所有css定义代码的位置要放到网站body之前。
(2)css sprite技术
网站上的一些图片可以采用css sprite技术进行合并,减少加载请求次数,从而提高网页的加载速度。
(3)css代码优化
通过对css代码属性的简写、移除多余的结构(frameworks)和重设(resets)等一系列的方法和技巧来简化css代码,减小css文件的大小。
三、JS优化
(1)JS位置
网页代码中对js进行优化的时候,建议将JS放在页面最后,这样可以加快页面打开速度。
(2)合并JS
合并相同域名下的js,通过减少网络连接次数从而提高网页的打开速度。
(3)LazyLoad(延迟加载)技术
Lazy Load是一个用JavaScript 编写的 jQuery 插件,它可以延迟加载长页面中的图片。在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置。
四、缓存静态资源
通过设置浏览器缓存,将css、js等不太经常更新的文件缓存在浏览器端,这样同一访客再次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必每次都从服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约服务器流量。
最近发现一个比较奇怪的问题,就是在开发vue中,路由点击跳转到另外一个组件中,样式是不出来的,然后刷新当前页面css样式才加载出来,找了好久才发现这个bug。
进入以后样式是这样的:css样式根本没有加载,这是为什么?
刷新了页面以后才可以出来,本身样式也是这样的:
找了半天原因,一点一点测试才发现
原来渲染的组件的父盒子的class='item'居然影响了css样式的内容,很奇怪,把class='item'修改成比如:class='abc'就可以了。
原文地址和更多信息:
可以在页面的head/head里添加style/style来添加CSS
也可以独立建一个CSS文件 然后通过在head/head里添加link rel="stylesheet" type="text/css" href="css.css" /来添加外部的CSS文件 推荐使用第二种方法 也就是家在外部的CSS独立文件 这样的优势是可以多个页面同时调用一个CSS 并且会节省带宽 免去多次下载CSS的时间
按优先级:前端优先读取正序。正规规范优先倒序。
style= 这样肯定是最优的,但也是最不推荐的。前端标签直接写入。
延伸阅读:读取优先,灵活使用,如大量页面,每页面都要设置。工作繁琐,大量写入增加代码量。不利优化。
style type="text/css" 这样属于第二读取方式。直接写在对应的页面。
延伸阅读:每页面都要设置。工作繁琐,大量写入增加代码量。不利优化。
link type="text/css" href=" 引用CSS文件 第三级。这全局引入.
延伸阅读:全局CSS。可以分离代码及外部引入,简单快捷。也是现在都在用的。