返回顶部
首页 > 资讯 > 前端开发 > JavaScript >HTML5文档结构及相关元素有哪些
  • 725
分享到

HTML5文档结构及相关元素有哪些

2024-04-02 19:04:59 725人浏览 安东尼
摘要

本篇内容主要讲解“HTML5文档结构及相关元素有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5文档结构及相关元素有哪些”吧! SVG文档的元素基

本篇内容主要讲解“HTML5文档结构及相关元素有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习html5文档结构及相关元素有哪些”吧!

SVG文档的元素基本可以分为以下几类:

•动画元素:animate,animateColor,animateMotion,animateTransfORM,set;

•解释元素:desc,metadata,title;

•图形元素:circle,ellipse,line,path,polyGon,polyline,rect;

•结构元素:defs,g,svg,symbol,use;

•渐变元素:linearGradient,radialGradient;

•其他元素:a,altGlyphDef,clipPath,color-profile,cursor,filter,font,font-face,foreignObject,image,marker,mask,pattern,script,style,switch,text,view等。

其中图形元素,渐变元素,文本,图像元素和组合等都介绍过了,下面介绍另外几个与结构相关的元素。

视窗-svg元素

可以在svg元素中以任何顺序放置任何的其他元素,包括嵌套svg元素。

svg元素支持的属性常用的也就是id,class,x,y,width,height,viewBox,preserveAspectRatio,以及fill和stroke的相关属性。

svg元素支持的事件也是常用的onload,onmouseover,onmousemove,onmousedown,onmouseup,onclick,onfocusin,onfocusout,onresize,onscroll,onunload等。svg元素就不多说了,完整的属性和事件列表参看后面的官方文档。

解释性元素-desc元素与title元素

每个容器元素(可以包含其他容器元素或者图形元素的元素,例如:a,defs,glyph,g,marker,mask,missing-glyph,pattern,svg,switch和symbol)和图形元素都可以包含desc和title元素,这两个元素都是辅助性的元素,用于解释相关情境;它们的内容都是文本。当SVG文档被渲染的时候,这2个元素不会被渲染到图形中。这个2个元素之间差别不是太大,title在有些实现中是作为提示信息出现的,所以通常title是放到父元素的第一个位置上。

典型的用法如下:

复制代码 代码如下:

<svgxmlns="Http://www.w3.org/2000/svg" version="1.1"width="4in"height="3in">

<g>

<title>Companysalesbyregion</title>

<desc>

Thisisabarchartwhichshows

companysalesbyregion.

</desc>

<!--Barchartdefinedasvectordata-->

</g>

</svg>

通常,最外层的svg元素要配以title说明,这样程序可读性更好。

标记-marker元素

标记定义了附加到一个或者多个顶点(path,line,polyline或者polygon的顶点)上的图形元素(箭头和多点标记)。箭头可以通过把一个标记附加到path,line或者polyline的起点或者终点上。多点标记可以把一个标记附加到path,line,polyline或者polygon的所有顶点上。

标记是由marker元素定义的,然后在path,line,polyline或者polygon中设置相关的属性(marker,marker-start,marker-mid,和marker-end)就可以了。看个例子:

复制代码 代码如下:

<svgwidth="4in"height="2in"

viewBox="0040002000"version="1.1"

xmlns="http://www.w3.org/2000/svg">

<defs>

<markerid="Triangle"

viewBox="001010"refX="0"refY="5"

markerUnits="strokeWidth"

markerWidth="4"markerHeight="3"

orient="auto">

<pathd="M00L105L010z"/>

</marker>

</defs>

<desc>Placinganarrowheadattheendofapath.

</desc>

<pathd="M1000750L2000750L25001250"

fill="none"stroke="black"stroke-width="100"

marker-end="url(#Triangle)"/>

</svg>

下面详细看看marker的相关知识:

1.marker是容器元素,可以存放任意顺序的图形元素,容器元素,动画,渐变元素等。

2.marker元素可以创建新的视窗:设置viewBox的值。

3.marker比较重要的属性:

markerUnits="strokeWidth|userSpaceOnUse"

这个属性定义了属性markerWidth,markerHeight和marker的内容使用的坐标系统。这个属性有2个值可选,第一个值strokeWidth是默认值,代表属性markerWidth,markerHeight和marker的内容使用的坐标系统的单位等于引用该marker的图形元素的stroke-width设置的值。

例如上面的例子中,marker元素的width是400,height是300,不过千万不要混淆了,mark元素中的path使用的坐标是viewBox设置的新的用户坐标系。

该属性另外一个取值userSpaceOnUse,代表属性markerWidth,markerHeight和marker的内容使用引用该marker的图形元素的坐标系统。

refX,refY:定义了引用的点与marker对齐的位置坐标。例如上面的例子中,引用的点是终点,要把它对齐到marker的(0,5)位置。注意refX,refY使用的是经过viewBox变换过的最终用户坐标系。

markerWidth,markerHeight:marker视窗的宽和高,这个很好理解。

orient:定义了marker旋转的角度。可以指定一个角度或者直接赋值auto。

auto代表x轴正方向按照下列规则旋转:

a.如果marker所在的点只属于一个path,则marker的x轴正向与path走向相同。参看上面例子。

b.如果marker所在的点属于两个不同的path,则marker的x轴正向与两个path的夹角的角等分线走向一致。

4.图形元素的marker属性

图形元素要引用一个marker则需要使用相关的属性,主要是这3个:marker-start(把引用的marker放到起点),marker-mid(把引用的marker放到除起点和终点外的所有点),marker-end(把引用的marker放到终点)。这3个属性的取值可能是none(代表不引用marker),marker的引用(引用某marker),inherit(这个不用多说了)。

从上面的例子中也可以看到marker的用法。

脚本与样式-script元素与style元素

实际上,基本上所有的属性(对于所有元素,不仅是文本)都可以用CSS与一个元素关联,并且所有CSS属性都在SVG图像中可用。可以直接用样式属性设计元素的样式,或者引用样式表设计元素的样式。对XML文件来说不应该解析样式表(因为它们偶尔包含会引起问题的字符),因此需要将它们置于XMLCDATA节。脚本也是同样的道理,需要放到XMLCDATA节中。看下面的CSS例子:

复制代码 代码如下:

<svgwidth="400"height="200"xmlns="http://www.w3.org/2000/svg">

<desc>Text</desc><defs>

<styletype="text/css">

<![CDATA[

.abbreviation{text-decoration:underline;}

]]>

</style>

</defs>

<g>

<textx="20"y="50"font-size="30">Colorscanbespecified</text>

<textx="20"y="100"font-size="30">bytheir

<tspanfill="rgb(255,0,0)"class="abbreviation">R</tspan>

<tspanfill="rgb(0,255,0)"class="abbreviation">G</tspan>

<tspanfill="rgb(0,0,255)"class="abbreviation">B</tspan>values</text>

<textx="20"y="150"font-size="30">orbykeyWordssuchas</text>

<textx="20"y="200">

<tspanstyle="fill:lightsteelblue;font-size:30">lightsteelblue</tspan>,

</text>

</g>

</svg>

再看脚本的例子:

复制代码 代码如下:

<svgwidth="500"height="300"xmlns="http://www.w3.org/2000/svg">

<desc>Scriptingtheonclickevent</desc>

<defs>

<scripttype="text/ecmascript">

<![CDATA[

functionhideReveal(evt){

varimageTarget=evt.target;

vartheFill=imageTarget.getAttribute("fill");

if(theFill=='white')

imageTarget.setAttribute("fill","url(#notes)");

else

imageTarget.setAttribute("fill","white");

}

]]>

</script>

<patternid="notes"x="0"y="0"width="50"height="75"

patternTransform="rotate(15)"

patternUnits="userSpaceOnUse">

<ellipsecx="10"cy="30"rx="10"ry="5"/>

<linex1="20"y1="30"x2="20"y2="0"

stroke-width="3"stroke="black"/>

<linex1="20"y1="0"x2="30"y2="5"

stroke-width="3"stroke="black"/>

</pattern>

</defs>

<ellipseonclick="hideReveal(evt)"cx="175"cy="100"rx="125"ry="60"

fill="url(#notes)"stroke="black"stroke-width="5"/>

</svg>

条件处理-switch元素

条件处理属性是能控制所在元素渲染与否的属性。基本上大多数的元素(特别是图形元素)都可以指定条件处理属性。条件处理属性有3个:requiredFeatures,requiredExtensions和systemLanguage。这些属性就是一组测试,都允许指定一个值列表(前面两个属性是空格隔开的,语言这个属性是使用逗号隔开的),默认值都为true。

SVG的switch元素提供了按指定条件渲染的能力。switch元素是一个容器元素,可以包含图形元素,解释性元素,动画元素,a,foreignObject,g,image,svg,switch,text,use等元素。switch元素会按顺序检查直接子元素的条件处理属性,然后渲染满足自身条件的的第一个子元素,其他的子元素都会被忽略。这些属性与display属性一样,只会影响直接使用这些属性的元素的渲染,不会影响引用的元素(比如use引用的元素)。简单的说,这3个属性会影响a,altGlyph,foreignObject,textPath,tref,tspan,animate,animateColor,animateMotion,animateTransform,set等元素,不会影响defs,cursor,mask,clipPath,pattern等元素(这些元素那么不是可渲染的,要么就是引用别的元素)。

注意:子元素的display和visibility属性值并不影响switch元素条件判断的结果。

条件处理属性的取值列表参看官方文档,这里就看一个小例子:

复制代码 代码如下:

<switch>

<rectrequiredFeatures="http://www.w3.org/TR/SVG11/feature#Filter"

x="10"y="10"width="322"height="502"opacity="0.6"

fill="black"stroke="none"filter="url(#gblurshadow)"/>

<rectx="10"y="10"width="322"height="502"opacity="0.6"

fill="black"stroke="none"/>

</switch>

这个例子的意思简单的说就是:使用的浏览器支持filter特性,那么就绘制上面的矩形(带filter属性),如果不支持filter特性,就绘制下面的矩形。

其实更多的时候,用的比较多的属性是systemLanguage,就是文本的多语言处理能力。例如:

复制代码 代码如下:

<svgxmlns="http://www.w3.org/2000/svg" version="1.1"width="5cm"height="5cm">

<switch>

<textx='10'y='20'systemLanguage="de">de-HAHA</text>

<textx='10'y='20'systemLanguage="en">en-haha</text>

</switch>

</svg>

到此,相信大家对“HTML5文档结构及相关元素有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: HTML5文档结构及相关元素有哪些

本文链接: https://lsjlt.com/news/92576.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • HTML5文档结构及相关元素有哪些
    本篇内容主要讲解“HTML5文档结构及相关元素有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5文档结构及相关元素有哪些”吧! SVG文档的元素基...
    99+
    2024-04-02
  • HTML5中SVG的文档结构及相关元素有哪些
    HTML5中SVG的文档结构及相关元素有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。结构相关的组合和重用元素,这里先对SVG的文档结...
    99+
    2024-04-02
  • HTML5表单相关元素和属性有哪些
    小编给大家分享一下HTML5表单相关元素和属性有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!<form>:可以...
    99+
    2024-04-02
  • html5基本文档结构的标签有哪些
    本篇内容介绍了“html5基本文档结构的标签有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 常用html元素结构有哪些
    这篇文章将为大家详细讲解有关常用html元素结构有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   基本结构:   <!DOCTYPEhtmlPUBLIC...
    99+
    2024-04-02
  • HTML5有哪些新元素
    这篇文章主要介绍“HTML5有哪些新元素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML5有哪些新元素”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • html有哪些常用的结构元素
    今天小编给大家分享的是html有哪些常用的结构元素,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。 html常用的结构元素...
    99+
    2024-04-02
  • html文档的头部元素有哪些及怎么使用
    这篇文章主要介绍了html文档的头部元素有哪些及怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html文档的头部元素有哪些及怎么使用文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • 与form表单相关的元素有哪些
    本篇内容介绍了“与form表单相关的元素有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • html5有哪些媒体元素
    这篇文章将为大家详细讲解有关html5有哪些媒体元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 html5中的媒体元素有:1、video元...
    99+
    2024-04-02
  • html5表单元素有哪些
    这篇文章主要讲解了“html5表单元素有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“html5表单元素有哪些”吧! htm...
    99+
    2024-04-02
  • HTML5的新元素有哪些
    本篇内容主要讲解“HTML5的新元素有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5的新元素有哪些”吧!什么是HTML5?HTML5 是下一代 HTML 标准。HTML5 将成为 ...
    99+
    2023-06-27
  • HTML5新表单元素有哪些
    小编给大家分享一下HTML5新表单元素有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HTML5 <datalist&...
    99+
    2024-04-02
  • html5移除的元素有哪些
    本篇内容主要讲解“html5移除的元素有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5移除的元素有哪些”吧! html...
    99+
    2024-04-02
  • HTML5新元素属性有哪些
    本篇内容介绍了“HTML5新元素属性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   canva...
    99+
    2024-04-02
  • html5废弃的元素有哪些
    本篇内容主要讲解“html5废弃的元素有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5废弃的元素有哪些”吧! html...
    99+
    2024-04-02
  • html5中有哪些布局元素
    小编给大家分享一下html5中有哪些布局元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html5布局元素有:1、header...
    99+
    2024-04-02
  • HTML5常用分组元素有哪些
    这篇文章给大家分享的是有关HTML5常用分组元素有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 html5中常用的分组元素:1、p元素,进行段落...
    99+
    2024-04-02
  • input元素所有type类型及相关作用
    1. text: 用于接收用户输入的文本内容。2. password: 用于接收用户输入的密码内容,输入的内容会被隐藏。3. che...
    99+
    2023-09-15
    input
  • html5相关常用技巧有哪些
    本篇内容主要讲解“html5相关常用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5相关常用技巧有哪些”吧!   1. 新的Doctype声...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作