博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
02 网页换肤
阅读量:5112 次
发布时间:2019-06-13

本文共 2060 字,大约阅读时间需要 6 分钟。

效果图:

02 网页换肤

思路:

要应用的样式css文件单独保存,通过HTML中link标签链接属性变化来应用样式。

  1. 获取link标签
  2. 遍历所要改变的标签名
  3. 绑定点击事件
  4. 设置className类名应用样式
    
网页换肤

一、CSS样式:

1. body { font: 12px/1.5 Tahoma; }社么意思?

解释:
1.5是行高(line-height),1.5表示是12px的1.5倍,即font: 12px;line-height: 1.5。也可以理解font-size:12px;line-height:1.5em,即字符高度的1.5倍。
这是css中font的简写写法。em单位是指父元素的字体大小。
字体:字体大小/字体行高 字体格式。

详细写法:

body {    font-size: 12px;    line-height: 1.5;    font-family: Tahoma;}

tips:

tahoma 大河马字体,Tahoma为Windows操作系统的英文默认字型。Tahoma是种非常圆滑的字体。这个字体比较均衡,中英文混排显示时,不会出现中英文不对齐的状态。

sans-serif 表示是无衬线字体,是一种通用字体族。

  1. px像素(Pixel),相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
  2. em是相对长度单位,相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。

因此用px来定义字体,就无法用浏览器字体放大的功能。

任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合:1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明font-size:62.5%,这就使em值变为16px*62.5%=10px,这样12px=1.2em,10px=1em,也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

CSS中em属性有如下特点

  1. em的值并不是固定的;
  2. em会继承父级元素的字体大小。

所以我们在写CSS的时候,需要注意

  1. body选择器中声明Font-size=62.5%;
  2. 将你的原来的px数值除以10,然后换上em作为单位;
  3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。

2. CSS中zoom:1的作用

兼容IE6、IE7、IE8浏览器,经常会遇到一些问题,可以使用zoom:1来解决
zoom属性是IE浏览器的专有属性,Firefox等浏览器不支持。它可以设置或检索对象的缩放比例。

zoom的使用方法:

zoom : normal | number
normal :  默认值。使用对象的实际尺寸
number :  百分数 | 无符号浮点实数。浮点实数值为1.0或百分数为100%时相当于此属性的 normal 值用白话讲解就是zoom:后面的数字即放大的倍数,可以是数值,也可以是百分比。而这个属性只要在IE中才起作用。

二、JavaScript

for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。

for(var p in oSkin) oSkin[p].className = "";这一句了,会搞不懂这个p代表啥。
那上面就是把oSkin这个对象存在的属性名赋值给变量P,这里的oSkin是一个HTMLCollection[li, li.current, li],HTMLCollection 对象的行为和只读数组一样,所以可以使用 JavaScript 的方括号,通过编号或名称索引一个 HTMLCollection 对象。

总结:

通过设置className类名,实现样式切换。知道设置clasName类名也是一种不错的选择,可以把多个样式单独保存一个文件中,实现代码优化!还是很多可以优化的,现因能力有限,先实现简单的功能,日后再添加其他功能。汗!技术能力严重不足,很多都需要参考源码来了解,不过多多研究原生的JavaScript代码,有益于增加扎实的基础,也是一种实力的。

转载于:https://www.cnblogs.com/yypbingo/p/6221051.html

你可能感兴趣的文章
[BZOJ 3489] A simple rmq problem 【可持久化树套树】
查看>>
STM32单片机使用注意事项
查看>>
swing入门教程
查看>>
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
Loj #139
查看>>
hihocoder1187 Divisors
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
博弈论 从懵逼到入门 详解
查看>>
永远的动漫,梦想在,就有远方
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
慵懒中长大的人,只会挨生活留下的耳光
查看>>