二,引入css样式表的三种方式:
1)行内样式(内联样式)
概念:称行内样式、行间样式,是通过标签的style属性来设置元素的样式;
基础语法
<标签名 style=“属性1:属性值1;属性2:属性值2;”>内容</标签名>
缺点:没有实现样式和结构的分离
2)内部样式表(内嵌样式表)
是将css代码集中写在HTML文档的head头部标签中,并且用style标签定义;
基础语法:
缺点:没有彻底分离
3)外部样式表(外链式)
概念:是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到HTML文档中;
基本语法:
注意:
- link是一个单标签;
- link标签要放在head头部标签中,并且指定link的三个属性;
属性:
- rel:定义当前文档与被链接文档之间的关系,在这里需要指定为"stylesheet",表示被链接的文档是一个样式表文件;
- type:定义所链接文档的类型;
- href:定义所有链接外部样式表文件的url,可以是绝对路径也可以是相对路径;
缺点:需要引入
主要讲讲行内样式
三、操作行内样式;
CSS的很多属性都时有复合名的,使用连字符“-”,如border-right 、margin-left等,但在脚本中(js代码)连字符会被定义为减号,会自动参数表达式的运算;解决这个问题 需要使用 小驼峰命名:borderRight 、marginLeft等
1,使用style对象:
elementNode.style.fontFamily=“Arial,Helvetica,sans-serif”;
elementNode.style.cssFloat=“left”;//float是js中的保留字,需要使用cssFloat来表示float属性
elementNode.style.color=“#ff0000”;
elementNode.style.width=“100px”;//单位不能遗漏
elementNode.style.top=top+“px”;//设置动态属性
2,使用getPropertyValue()方法,早期IE不支持,但直接使用elementNode.style.width访问样式属性:
var value=elementNode.style.getPropertyValue(propertyName)
例:
window.onload = function(){
var box = document.getElementById(“box”);//获取
var width = box.style.getPropertyValue(“width”);
<=>var width = box.style.width
box.innerHTML = “盒子宽度:”+width;
var marginLeft=box.style.getPropertyValue(“margin-left”); //需要连字符的样式属性
box.innerHTML = “盒子外边距:”+marginLeft;
}
3,setProperty()方法:为指定元素设定样式;不兼容早期的IE,elementNode.sytle.width=“500px”;
elementNode.setProperty(propertyName,value,priority); // 参数解释:属性名,属性值,是否设置!important优先级
window.onload = function(){
var box = document.getElementById(“box”);//获取
box.style.setProperty(“width”,“400px”,“”);
box.style.setProperty(“height”,“400px”,“”);
//兼容早期的IE
box.style.width= “400px”;
box.style.height = “400px”;
}
4,removeProperty()方法:移除指定CSS的样式声明
elementNode.removeProperty(propertyName)
5,item()方法:返回style对象中指定索引位置的CSS属性名称
element.style.item(index);
6,getPropertyPriority()方法:获取指定的css属性中是否附加了!important,有则返回important,无则返回空字符串
window.onload = function(){//不兼容IE
var box=document.getElementById(“box”);
box.οnmοuseοver=function(){
box.style.setProperty(“background-color”,“blue”,“”);
box.style.setProperty(“border”,“solid 50px red”,“”);
}
box.οnclick=function(){
box.innerHTML=(box.style.item(0)+“:”+box.style.getPropertyValue(“width”));
box.innerHTML=box.innerHTML+“
”+(box.style.item(1)+“:”+box.style.getPropertyValue(“height”));
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料,免费分享给大家,戳这里即可免费领取
而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料,免费分享给大家,戳这里即可免费领取
[外链图片转存中…(img-vKdc30eP-1713777840937)]