`

H5的input color系统颜色选择器

    博客分类:
  • HTML
阅读更多

今天我给大家介绍HTML5的色盘选择器。HTML5有一个input类型为color,即颜色选择器。

《推荐两款jQuery色盘选择器》介绍,那是使用JavaScript实现的色盘)

 

认识html5中的color

<input type="color" />

 

Chrome执行:

Opera:

其它浏览器Firefox、IE暂不支持,Safari最新版本已支持。

color标签最强大的一点是直接能调用系统的颜色调节窗口,上面截图Chrome的运行效果中弹出的窗口就是系统色盘窗口,当然,包括苹果系统也能弹出相应的系统色盘。

细心的同学应该发现,虽然同样是color类型,但Chrome与Opera下的外观并不一样,但还有一个根本性质的区别就是Opera的color标签旁边有一个下拉箭头,点击后直接在color标签下拉出一个弹层。而只有点击“其它”按钮以后,才弹出系统色盘选择器,如同Chrome中的一样

这个系统窗口弹出来后,就保持活跃性,即你只能选择选择颜色,或者取消关闭窗口以后才能继续其它操作。

个性化color

其实就是让color标签外观可以自定义。

我们先来举一个例子,通常我们的上传按钮标签在各个浏览器下都不一样,

IE根据系统不一样也有不同的外观,在win7下 :

FireFox下:

Chrome下:

Opera下:

Safari下:

因为每个浏览器下的外观都不一致,通常我们可以让上传标签隐藏,然后使用一个div按钮来替代解决这个问题,当然目前好多站点都这么干,完全没有兼容性。我们也尝试着把这一逻辑照搬到color标签上。我们定义一个按钮,然后点击按钮以后弹出颜色选择器。

html代码:

<input style="display:none;" type="color" id="color" />
        <button id="btn">弹出色盘</button>

js代码:

document.getElementById('btn').onclick = function(){
    document.getElementById('color').click();
};

 

结果Chrome在/Opera下测试都弹不出色盘窗口,好奇怪!后来经过调试,发现只要color的input标签不能被display:none隐藏,只要被display:none就弹不出来。也就是说却掉input标签的display:none属性后点击按钮能弹出色盘,如:

chrome下:

opera下还是弹不出色盘,可能是因为它一开始默认弹一个下拉列表的缘故:

那我们怎样在chrome下实现color标签不隐藏而又不在页面显示呢?当然,解决这个问题非常容易,我们可以让他绝对定位,然后left让它飞出页面以外就好:

<input style="position:absolute;left:3000px;" type="color" id="color" />
        <button id="btn">弹出色盘</button>

 

Chrome执行效果:

Opera就不用测试,第一轮就被k掉。

怎么获得改变颜色后的触发事件呢?

既然能弹出系统色盘可以选择颜色,那么就应该要获得用户选择颜色后的色值做相应操作。由于是直接调用系统色盘,因此我们可以监听input只要onchange即可然后获取它的value即可。

document.getElementById('color').onchange = function(){
    alert('您选择的颜色是:'+this.value)
};

 

截图:

通过截图,我们发现色值都被转换成16进制格式了,也是网页通用格式。

我写了一个demo,通过系统色盘改变背景颜色,当然只支持chrome

<!DOCTYPE>
<html>
<head>
    <meta charset="utf-8">
    <title>html5 input color标签</title>
</head>
<body style="overflow: hidden; background: rgb(255, 0, 128);">
<input style="position:absolute;left:3000px;" type="color" id="color">
<button id="btn">弹出色盘</button>
<script type="text/javascript">
    document.getElementById('btn').onclick = function(){
        document.getElementById('color').click();
    };
    document.getElementById('color').onchange = function(){
        document.body.style.background = this.value;
    };
</script>
</body>
</html>

 

唯一的缺点是,通过系统色盘不能调节透明值!

分享到:
评论

相关推荐

    h5页面选择颜色、颜色查询对照表

    1. **Input type="color"**:HTML5引入了一个内置的颜色选择器,通过`&lt;input type="color"&gt;`标签可以创建一个颜色选择器。用户点击后,浏览器会弹出一个预设的颜色选择面板,允许用户选取颜色。这个方法简单易用,但...

    h5+CSS3总结

    - **分组选择器**:使用 `,` 符号来同时选择多个选择器。 ```css h1, h2, h3 { color: red; } /* 选择所有 h1、h2 和 h3 元素 */ ``` ##### 属性选择器 - **基础属性选择器**:使用 `[attr]` 形式来选择具有指定...

    输入框input样式,各种效果齐全

    对于更复杂的效果,可以利用伪类选择器,如`:hover`、`:focus`、`:active`来改变鼠标悬停、获取焦点或按下时的样式。例如,当输入框获得焦点时,我们可以改变边框颜色: ```css input:focus { border-color: blue;...

    前端H5_华丽注册登录界面案例2,入门学习案例(css+JS)

    进一步,我们可以使用CSS选择器来针对性地应用样式,比如类选择器(`.class`)、ID选择器(`#id`)和伪类(`:hover`, `:focus`等)。这些选择器可以帮助我们实现如按钮悬停效果、输入框聚焦样式等交互性设计。 然后...

    jQuery调色板插件spectrum

    在网页设计中,色彩选择器是不可或缺的工具,它允许用户自定义颜色,提升用户体验。jQuery调色板插件spectrum就是这样一个强大的解决方案,它为开发者提供了一个功能齐全、易于使用的颜色选择器。spectrum插件以其...

    前端面试宝典V4.0.pdf

    * 内联样式 &gt; ID 选择器 &gt; 类选择器 &gt; 标签选择器 &gt; 通配符选择器 5. H5 input 元素 type 属性值 H5 input 元素的 type 属性值包括: * text * password * checkbox * radio * file * hidden * submit * reset * ...

    css2视觉手册css属性大全

    这里,`body`是选择器,`color`是属性,而`black`是该属性的值。 #### 组合选择器 可以使用逗号分隔多个选择器来组合应用样式。例如: ```css p, h1, h2, h3, h4, h5, h6, form { margin: 0; } ``` 这段代码将...

    黑紫有登录页面_HTML手机电脑网站_网页源码移动端前端js效果_H5模板_自适应css源码ui组件.zip

    黑紫色调的实现可能涉及到颜色选择器如`color: #330066`,以及背景色、边框等其他属性的设置。 3. **JavaScript(JS效果)**:JavaScript是一种客户端脚本语言,用于增加网页的交互性。在这个模板中,JavaScript...

    02-CSS基础.docx

    类选择器以`.`开头,可以多次调用,如`.myClass{color:green;}`,只有应用了该类名的标签才会呈现绿色文本。ID选择器以`#`开头,具有唯一性,如`#myID{background-color:blue;}`,在页面上只能出现一次且仅对应一个...

    编写出色CSS代码的13个建议小结

    利用组合选择器(如后代选择器、相邻兄弟选择器等)可以减少选择器的复杂度和数量,提高代码效率。 6. 适当使用ID选择器 ID选择器的权重高于类选择器,应谨慎使用,通常用于页面唯一的元素,避免滥用。 7. 注释...

    H5用户注册表单页 注册模态框!

    - `type="color"`:打开颜色选择器,让用户选择颜色。 - `type="url"`:验证输入是否为有效URL。 2. **表单验证**:HTML5提供了内置的表单验证机制,通过`required`属性,我们可以强制用户必须填写某个字段。此外...

    H5前端_高级实战案例_搜索框设计(css+js).rar

    在本实践案例中,我们将深入探讨“H5前端_高级实战案例_搜索框设计(css+js)”的主题。这个项目旨在教你如何使用HTML5、CSS和JavaScript来创建一个功能完善的搜索框,它不仅外观简洁高雅,而且代码实现简单,具有...

    html5 css3制作checkbox多选框选中样式特效

    此外,CSS3还提供了许多其他特性,如渐变、阴影、动画、选择器增强等,可以帮助我们实现更复杂的样式效果。例如,我们可以使用`transition`属性为选中状态添加平滑的过渡效果: ```css input[type="checkbox"] + ...

    CSS2视觉手册,方便WEB开发

    这些选择器包括基本的选择器类型,如元素选择器、伪类选择器等,以及更复杂的组合选择器。 #### 二、CSS2选择器详解 ##### 1. 元素选择器 (E) - **功能**:匹配任何指定类型的元素(例如div、span或p)。 - **...

    前端面试宝典V3.0.pdf

    - 选择器优先级由ID选择器、类选择器、标签选择器和内联样式决定,权重计算决定了哪些样式会被应用。 - CSS3引入了更多选择器,如伪类、伪元素和属性选择器,部分属性可以被子元素继承。 6. HTML5离线存储: - ...

    深蓝色商务风格企业模板3339_html网站模板_网页源码移动端前端_H5模板_自适应响应式源码.rar

    深蓝色主题的实现主要依赖于CSS选择器和属性,例如`.bg-color-primary`用于设置背景色,`.text-color-light`用于调整文本颜色。此外,CSS还用于创建动画效果、布局网格、字体样式以及按钮和图标的设计。 3. **...

    移动端开发资料1

    至于表单输入框`placeholder`的颜色,可以使用Webkit特定的选择器来改变: ```css input::-webkit-input-placeholder { color: #AAAAAA; } input:focus::-webkit-input-placeholder { color: #EEEEEE; } ``` ...

    HTML+CSS基础(大部分)

    - 类选择器、属性选择器、伪类选择器。 - 标签选择器、伪元素选择器。 - 通配符选择器。 - 浏览器默认样式。 - **继承性**: 文本相关的属性如字体、颜色等可以被继承。继承的权重为0,意味着子元素会默认继承父...

    H5前端实战案例_前端开发_To-Do-List设计(css+js).rar

    - `document.getElementById()` 和 `querySelector()`:通过ID或CSS选择器获取DOM元素。 - `addEventListener()`:为元素添加事件监听器,如点击事件。 - `event.preventDefault()`:阻止元素的默认行为,如表单...

Global site tag (gtag.js) - Google Analytics