Ruby's Louvre

每天学习一点点算法

导航

< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

统计

表单元素之图形系

说起图形系,可能有人马上想到<input type="image">,可惜那是谬误,不要想当然,那是一个提交按钮。HTML有多少提交按钮,如不写type属性的button标签,type="submit"的input标签,还有type="image"的input标签。

不过,input[type=image]在提交时,会将提交时点击按钮的offset坐标也提交上去。

x 坐标将以控件名称后加 .x 提交,y 坐标将以空间名称后加 .y 提交

<input type="image" name="aaa" value="333">

可能提交数据为aaa.x=99&aaa.y=109, value值会被忽略。这可以用判定是否真实用户提交。

言归正转,真实的图形系表单元素是指area与map元素。


<img src="planets.gif" alt="Planets" usemap ="#planetmap" />

<map name="planetmap">
 <area shape ="rect" coords ="0,0,110,260" href ="sun.htm" alt="Sun" />
 <area shape ="circle" coords ="129,161,10" href ="mercur.htm" alt="Mercury" />
 <area shape ="circle" coords ="180,139,14" href ="venus.htm" alt="Venus" />
</map>

这个整体叫做图片映射。map元素的name值等于usemap的值,当然usemap会多了一些东西。当我们点击img标签时,实标上点到浮在它上面的map元素上。map元素上也浮着更多area元素。通常我们的元素都是四四方方的,而这些area元素则可以是椭圆形,三角形,多边形。。。

下面列出了每种形状的适当值:

  • 圆形:shape="circle",coords="x,y,z":这里的 x 和 y 定义了圆心的位置("0,0" 是图像左上角的坐标),r 是以像素为单位的圆形半径。

  • 多边形:shape="polygon",coords="x1,y1,x2,y2,x3,y3,...":每一对 "x,y" 坐标都定义了多边形的一个顶点("0,0" 是图像左上角的坐标)。定义三角形至少需要三组坐标;高纬多边形则需要更多数量的顶点。多边形会自动封闭,因此在列表的结尾不需要重复第一个坐标来闭合整个区域。

  • 矩形:shape="rectangle",coords="x1,y1,x2,y2":第一个坐标是矩形的一个角的顶点坐标,另一对坐标是对角的顶点坐标,"0,0" 是图像左上角的坐标。请注意,定义举行实际上是定义带有四个顶点的多边形的一种简化方法。

更多用法可以见MDN官网

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/area

但是近十年来,随着SVG的崛起,他们俩功能重复,于是功能够弱的area,map元素就没落了。


相关链接

http://www.cnblogs.com/china-chang/archive/2012/03/27/2419734.html

http://www.image-maps.com/

http://blog.csdn.net/shehun1/article/details/22324517

如果您觉得此文有帮助,可以打赏点钱给我支付宝1669866773@qq.com ,或扫描二维码

posted on   司徒正美  阅读(1426)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2013-10-30 express源码学习
2013-10-30 让IE10等支持classList2.0
2013-10-30 判定元素是否刚插入到DOM树
2013-10-30 accept巨坑
2013-10-30 for in 循环的输出顺序问题
2012-10-30 offsetParent算法分析
2009-10-30 惰性函数
点击右上角即可分享
微信分享提示