HTML代码美化

HTML代码美化,第1张

<html>

<head>

<title>你们都</title>

<style>

body{background:url(http://img1.xcarimg.com/b171/s5313/20130625144159802565.jpg) no-repeat center centermargin:0px auto}

.parent { width:980pxheight:50pxmargin:0 autotext-align:center}

.children {display:inline-blockwidth:33%%height:100%%}

*+ html .children { display:inlinezoom:1}

* html .children { display:inlinezoom:1}

</style>

</head>

<script language=\JavaScript\ src=\?getxml=\>

</script>

<BODY onload = \sender(0)\>

<body>

<center>

<h2>当前温度检测</h2>

<div align= center>

<div class=\parent\>

<div class=\children\>温度 : </div>

<div id=\tempId\ class=\children\>00</div>

<div class=\children\>℃</div>

</div>

<br>

<font size= 20 color=blue>

</font>

<form>

<input name=B1 type=submit value=开启>

<input name=B2 type=submit value=关闭>

</form>

</center>

</body>

</html>

文字通过font-familyfont-sizefont-weightcolor等可以美化

按钮要想美化 就给按钮做个背景图片就可以了

希望能帮助你

1.自己写的页面代码,(最好是吧html文件和css文件分开哦,这样浏览器运行的快),简单的自己可以整理好,如果太长了那就按ctrl+a全选,再按ctrl+c复制

2.打开浏览器(要能上网的前提下哦),点百度在搜索栏写“Html在线美化压缩/转js",点击搜索····

3.进入页面后,你可以看到如下面的图片显示的页面,看好上面的网址末尾是html哦,然后将文本框里面的内容删掉,并把你刚才复制的全部代码粘贴到下面的编辑文本框(ctrl+v).

4.复制完后,点击下面的美化,完了之后编辑文本框中显示的代码就是美化后的,你可以继续进行--全选(ctrl+a)--复制(ctrl+c),用这些代码全部替换你原来的代码,你的html代码结构就很清楚了,而且也利于修改啦~~

5.如果你还想修改你的css代码,你可以将如下图所示的地方修改成“css”然后(回车)即可看到如下面所示的图片的页面

6.然后你就按之前说的将你的css代码全部放到这个编辑文本框中,你可以进行文本框下面的 *** 作,不同的 *** 作对应的样式也是不一样的,具体如下图所示喔~~

7.其实”净化“和”整理“是很像的就是最后一个css只是否多个”;“,整理时有分号的,净化是没有的(小伙伴要看仔细咯),如果没有看清楚,可以返回上步仔细看,也可以自己亲自试试

首先提一个问题有哪些方式能完成对滑动条的美化?目前我所能想到的就是如下的两种方案:

直接通过css完成样式改造

将滑动条隐藏(设置opacity: 0),通过自定义div实现

这次所要介绍的第一种较为简单的实现方式。

美化滑动控件,需要完成以下的五个步骤:

去除系统默认的样式;

给滑动轨道(track)添加样式;

给滑块(thumb)添加样式;

根据滑块所在位置填充进度条;

实现多浏览器兼容。

以上就是实现滑动控件美化的整个流程。我们今天所要达到的效果是这样的:这里写图片描述如果想要实现填充进度条的效果,在IE 9以上的浏览器中可以使用::-ms-fill-lower 和 ::-ms-fill-upper来自定义进度条;在Firefox浏览器中则可以通过::-moz-range-progress来自定义;而Chrome浏览器中不支持直接设置进度条,而达到填充的效果,所以首先针对Chrome浏览器来实现整个流程。

3.1 去除系统默认的样式

这是美化滑动控件的第一步,这步 *** 作是为了不使用原有的样式,使之后的自定义样式有效。代码很简单如下所示,不过要注意的是对基于 webkit 的浏览器,如Chrome, Safari, Opera等,滑块也要移除默认样式。

input[type=range] {

-webkit-appearance: none

width: 300px

border-radius: 10px/*这个属性设置使填充进度条时的图形为圆角*/

}

input[type=range]::-webkit-slider-thumb {

-webkit-appearance: none

}

1

2

3

4

5

6

7

8

3.2 给滑动轨道(track)添加样式

正式开始自定义控件样式了。首先是自定义滑动控件的轨道,代码很简单,直接贴出来。

input[type=range]::-webkit-slider-runnable-track {

height: 15px

border-radius: 10px/*将轨道设为圆角的*/

box-shadow: 0 1px 1px #def3f8, inset 0 .125em .125em #0d1112/*轨道内置阴影效果*/

}

1

2

3

4

5

原始的控件获取到焦点时,会显示包裹整个控件的边框,所以还需要把边框取消。

input[type=range]:focus {

outline: none

}

1

2

3

3.3 给滑块(thumb)添加样式

下面对滑块的样式进行变更,css代码也不是很复杂,如下所示:

input[type=range]::-webkit-slider-thumb {

-webkit-appearance: none

height: 25px

width: 25px

margin-top: -5px/*使滑块超出轨道部分的偏移量相等*/

background: #ffffff

border-radius: 50%/*外观设置为圆形*/

border: solid 0.125em rgba(205, 224, 230, 0.5)/*设置边框*/

box-shadow: 0 .125em .125em #3b4547/*添加底部阴影*/

}

1

2

3

4

5

6

7

8

9

10

3.4 根据滑块所在位置填充进度条

新建一个RangeSlider.js文件,实现对滑动控件属性的设置、事件的监听、以及设置回调函数。监听input事件时,对进度条进行填充,让我们来直接看看代码是怎么实现的。

$.fn.RangeSlider = function(cfg){

this.sliderCfg = {

min: cfg &&!isNaN(parseFloat(cfg.min)) ? Number(cfg.min) : null,

max: cfg &&!isNaN(parseFloat(cfg.max)) ? Number(cfg.max) : null,

step: cfg &&Number(cfg.step) ? cfg.step : 1,

callback: cfg &&cfg.callback ? cfg.callback : null

}

var $input = $(this)

var min = this.sliderCfg.min

var max = this.sliderCfg.max

var step = this.sliderCfg.step

var callback = this.sliderCfg.callback

$input.attr('min', min)

.attr('max', max)

.attr('step', step)

$input.bind("input", function(e){

$input.attr('value', this.value)

$input.css( 'background', 'linear-gradient(to right, #059CFA, white ' + this.value + '%, white)' )

if ($.isFunction(callback)) {

callback(this)

}

})

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

通过cfg对象来设置滑动控件的min, max, step属性。

对控件绑定input事件,当滑块滑动时会触发该事件,此时完成对进度条的填充,这里我使用的是线性渐变linear-gradient(to right, #059CFA, white ’ + this.value + ‘%, white)这种方式,淡蓝色和白色两种颜色从左至右渐变,渐变的长度根据此时控件的value来确定。事件触发时同时调用回调函数,回调函数完成的功能可自行设计。

当然你还可以根据自己的需求来监听其他事件,比如change事件,当value值改变时会触发,用法上很灵活。

如何调用这个js文件里的函数来完成配置呢?很简单,首先在html文件里导入这个js文件,然后直接定义script节点,html代码如下:

<!DOCTYPE html>

<html>

<head>

<title>demo</title>

<script type="text/javascript" src="lib/jquery.js"></script>

<script type="text/javascript"src="src/RangeSlider.js"></script>

<link rel="stylesheet" href="css/slider.css" type="text/css">

</head>

<body>

<div id="test">

<input type="range" value="0">

</div>

<script>

var change = function($input) {

/*内容可自行定义*/

console.log("123")

}

$('input').RangeSlider({ min: 0, max: 100, step: 0.1, callback: change})

</script>

</body>

</html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

至此基于Chrome浏览器,对滑动控件的美化已全部完成。最后只剩下多浏览器的兼容问题了。

3.5 实现多浏览器兼容

如果要兼容Firefox浏览器,只需要把上述css代码中的 ::-webkit-slider-runnable-track 替换为 ::-moz-range-track ,就可以完成对轨道的美化了;把css代码中的 ::-webkit-slider-thumb 替换为 ::-moz-range-thumb ,这是对滑块的样式进行改造;而如果是要填充进度条就很简单了,不需要像之前在RangeSlider.js中 $input.css( ‘background’, ‘linear-gradient(to right, #059CFA, white ’ + this.value + ‘%, white)’ )这样实现填充,只需要新增如下的css代码即可:

input[type=range]::-moz-range-progress {

background: linear-gradient(to right, #059CFA, white 100%, white)

height: 13px

border-radius: 10px

}

1

2

3

4

5

如果要想兼容IE 9以上版本的浏览器,对上述css代码要修改的地方稍微多了一些,下面先将针对IE 9+的css代码贴出来:

input[type=range] {

-webkit-appearance: none

width: 300px

border-radius: 10px

}

input[type=range]::-ms-track {

height: 25px

border-radius: 10px

box-shadow: 0 1px 1px #def3f8, inset 0 .125em .125em #0d1112

border-color: transparent/*去除原有边框*/

color: transparent/*去除轨道内的竖线*/

}

input[type=range]::-ms-thumb {

border: solid 0.125em rgba(205, 224, 230, 0.5)

height: 25px

width: 25px

border-radius: 50%

background: #ffffff

margin-top: -5px

box-shadow: 0 .125em .125em #3b4547

}

input[type=range]::-ms-fill-lower {

/*进度条已填充的部分*/

height: 22px

border-radius: 10px

background: linear-gradient(to right, #059CFA, white 100%, white)

}

input[type=range]::-ms-fill-upper {

/*进度条未填充的部分*/

height: 22px

border-radius: 10px

background: #ffffff

}

input[type=range]:focus::-ms-fill-lower {

background: linear-gradient(to right, #059CFA, white 100%, white)

}

input[type=range]:focus::-ms-fill-upper {

background: #ffffff

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

以上就是为了兼容IE 9+完整的css代码,也不是很复杂,同样的和Firefox浏览器一样,它支持直接使用css来自定义进度条,所以原先在RangeSlider.js里的 $input.css( ‘background’, ‘linear-gradient(to right, #059CFA, white ’ + this.value + ‘%, white)’ )填充方法就不需要啦。

下面提几个IE浏览器需要特别注意的问题:

在测试时发现,IE浏览器没有加载css文件,导致样式没有发生改变,如果你的使用E浏览器测试时也存在这样的问题,那么你需要将HTML第一行的 <!DOCTYPE html>改为 <!DOCTYPE>;

拖动滑块时,IE浏览器没有触发 input 事件,所以只能选择将RangeSlider.js中的监听事件改为 change 事件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6171519.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-17
下一篇2023-03-17

发表评论

登录后才能评论

评论列表(0条)

    保存