整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

详解HTML5中的figure元素、details元素和mark元素!

TML5中,不仅增加了很多的表单元素,同时也增加和改良了可以应用在整个页面中的元素。下面为大家介绍常见的几个html5中页面元素。

figure元素和figcaption元素

figure元素是元素组合,带有可选标题。figure元素用来表示网页上一块独立的内容,将它从删除后不会对网页上的其他的内容造成任何影响。figure元素所表示可以是图片、代码统计或者示例,也可以用于视频插件、音频插件。figure元素支持accesskey、class、contenteditable、contentmene、date-*、draggable等html5全局属性,figure元素支持onafterprint、onbeforeprint、onbeforeunload、onerror、onload等事件属性。

figcaption元素

figcaption元素表示figure元素的标题,它从属于figure元素,在figure元素内部书写,在figure元素的从属元素的前面或者后面。建议一个figure元素放置一个figcaption元素,可以放多个其他的元素。

details元素

details元素可以代码javascript部分功能(画布局部区域展开或收缩的方法),不建议使用这个功能,因为部分浏览器不支持details元素。sunmary元素从属于details元素,鼠标点击sunmary元素中的内容文字时,details元素中的元素会展开或者收缩。如果details元素内没有sunmary元素,浏览器会提供文字供点击,浏览器为提供一个诸如上下箭头之类的图标,标示区域可以被搜索或者展开。details元素可以设置open属性,打开details元素所表示的局部区域处于展开状态。details元素内不仅可以放置文字,也可以放置表单、插件或对于一个统计图提供的详细数据表格。

mark元素

mark元素用于突出或者高亮显示,对于用户有重要参考作用的一段文字,使用mark元素通常是为了引起读者注意,因为标出来的文字与用户的当前操作有关,通常该元素对于当前用户具有很好的帮助作用。mark元素对原文内容具有补充作用的元素,它应该用于一段原文作者不认为重要,但为了与原文内容具有补充作用的一个元素。在全文检索某个关键词显示的结果经常用到mark元素,现在许多搜索引擎用其他方法实现了mark元素所要达到的功能。

关于html5新增的页面元素还有很多今天就先聊到这,每天学习一个知识点,每日寄语-“是非天天有,不听自然无。”


atplotlib三种代码风格

import numpy as np
import os
import matplotlib.pyplot as plt
#notebook模式下
%matplotlib inline

pyplot

x=np.arange(0,10,1)
y=np.random.randn(len(x))
plt.plot(x,y) #绘制以x为横坐标,y为纵坐标的折线图
plt.title('pyplot')
plt.show()

pylab

#pylab不推荐使用
from pylab import *
x=arange(0,10,1)
y=randn(len(x))
plot(x,y) #绘制以x为横坐标,y为纵坐标的折线图
title('pylab')
show()


Object Oriented

在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下:


整个图像是fig对象。我们的绘图中只有一个坐标系区域,也就是ax。此外还有以下对象。

  • Data: 数据区,包括数据点、描绘形状
  • Axis: 坐标轴,包括 X 轴、 Y 轴及其标签、刻度尺及其标签
  • Title: 标题,数据图的描述
  • Legend: 图例,区分图中包含的多种曲线或不同分类的数据
  • 其他的还有图形文本 (Text)、注解 (Annotate)等其他描述



Title为标题。Axis为坐标轴,Label为坐标轴标注。Tick为刻度线,Tick Label为刻度注释。各个对象之间有下面的对象隶属关系:

# 推荐使用
x=np.arange(0,10,1)
y=np.random.randn(len(x))
fig=plt.figure() #定义图像的对象
ax=fig.add_subplot(111) #定义坐标系区域
ax.plot(x,y) #绘制以x为横坐标,y为纵坐标的折线图
ax.set_title('object oriented')
plt.show()


子图

x = np.arange(1,100)

fig = plt.figure()
ax1 = fig.add_subplot(221) # 定义2*2个子图(左一)
ax1.plot(x,x) # 绘制左一折线图

ax2 = fig.add_subplot(222)
ax2.plot(x,-x) # 绘制右一折线图(右一)

ax3 = fig.add_subplot(223)
ax3.plot(x,x*x) # 绘制左二折线图(左二)

ax4 = fig.add_subplot(224)
ax4.plot(x,np.log(x)) # 绘制右二折线图(右二)

plt.show()


x = np.arange(1,100)
plt.subplot(221) # 第一行的左图
plt.plot(x,x)
plt.subplot(222) # 第一行的右图
plt.plot(x,-x)
plt.subplot(212) # 第二整行
plt.plot(x,x*x)
plt.show()
#简化写法
fig,axes = plt.subplots(ncols=2,nrows=2) #定义子图为两行两列
ax1,ax2,ax3,ax4 = axes.ravel() #按照先行再列的顺序分配子图

x = np.arange(1,100)
ax1.plot(x,x)
ax2.plot(x,-x)
ax3.plot(x,x*x)
ax4.plot(x,np.log(x))
plt.show()

多图

fig1 = plt.figure() # plt派生一个图对象
ax1 = fig1.add_subplot(111)
ax1.plot([1,2,3],[3,2,1])

fig2 = plt.figure() # plt派生另一个图对象
ax2 = fig2.add_subplot(111)
ax2.plot([1,2,3],[1,2,3])

plt.show() # plt统一显示

参考

matplotlib核心剖析(http://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html#commentform)

dd oncopy

Add oncut

Add onpaste

Modify header/footer content model to allow <header> and <footer> descendants

Allow blank <option>

Change mousewheel event to wheel event

Make stepup/down algorithm reflect reality

Allow <figcaption> anywhere in <figure>

Add HTMLMediaElement.srcObject

Make <script>'s event and htmlFor IDL attributes

Clear autoplaying flag when autoplaying

Make navigator.javaEnabled()

Support width="0" except for <td>

Make toblob() callback non-nullable

Make meta refresh parsing reflect reality