TML 属性
HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息。
属性总是以名称/值对的形式出现,比如:name="value"。
属性总是在 HTML 元素的开始标签中规定。
属性实例
HTML 链接由 <a> 标签定义。链接的地址在 href 属性中指定:
[demo]
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<a href="http://www.w3school.com.cn">
This is a link</a>
</body>
</html>
[/demo]
更多 HTML 属性实例
属性例子 1:
<h1> 定义标题的开始。
<h1 align="center"> 拥有关于对齐方式的附加信息。
[demo]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1 align="center">This is heading 1</h1>
<p>上面的标题在页面中进行了居中排列。上面的标题在页面中进行了居中排列。上面的标题在页面中进行了居中排列。</p>
</body>
</html>
[/demo]
属性例子 2:
<body> 定义 HTML 文档的主体。
<body bgcolor="yellow"> 拥有关于背景颜色的附加信息。
[demo]
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html />
<meta http-equiv="Content-Language" content="zh-cn" />
</head>
<body bgcolor="yellow">
<h2>请看: 改变了颜色的背景。</h2>
</body>
</html>
[/demo]
属性例子 3:
<table> 定义 HTML 表格。(您将在稍后的章节学习到更多有关 HTML 表格的内容)
<table border="1"> 拥有关于表格边框的附加信息。
HTML 提示:使用小写属性
属性和属性值对大小写不敏感。
不过,万维网联盟在其 HTML 4 推荐标准中推荐小写的属性/属性值。
而新版本的 (X)HTML 要求使用小写属性。
始终为属性值加引号
属性值应该始终被包括在引号内。双引号是最常用的,不过使用单引号也没有问题。
在某些个别的情况下,比如属性值本身就含有双引号,那么您必须使用单引号,例如:
name='Bill "HelloWorld" Gates'
下面列出了适用于大多数 HTML 元素的属性:
属性 值 描述
class classname 规定元素的类名(classname)
id id 规定元素的唯一 id
style style_definition 规定元素的行内样式(inline style)
title text 规定元素的额外信息(可在工具提示中显示)
HTML 全局属性
HTML 属性赋予元素意义和语境。
下面的全局属性可用于任何 HTML 元素。
HTML 全局属性
属性 描述
accesskey 规定激活元素的快捷键。
class 规定元素的一个或多个类名(引用样式表中的类)。
contenteditable 规定元素内容是否可编辑。
contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示。
data-* 用于存储页面或应用程序的私有定制数据。
dir 规定元素中内容的文本方向。
draggable 规定元素是否可拖动。
dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接。
hidden 规定元素仍未或不再相关。
id 规定元素的唯一 id。
lang 规定元素内容的语言。
spellcheck 规定是否对元素进行拼写和语法检查。
style 规定元素的行内 CSS 样式。
tabindex 规定元素的 tab 键次序。
title 规定有关元素的额外信息。
translate 规定是否应该翻译元素内容。
HTML 事件属性
Window 事件属性
针对 window 对象触发的事件(应用到 <body> 标签):
属性 值 描述
onafterprint script 文档打印之后运行的脚本。
onbeforeprint script 文档打印之前运行的脚本。
onbeforeunload script 文档卸载之前运行的脚本。
onerror script 在错误发生时运行的脚本。
onhaschange script 当文档已改变时运行的脚本。
onload script 页面结束加载之后触发。
onmessage script 在消息被触发时运行的脚本。
onoffline script 当文档离线时运行的脚本。
ononline script 当文档上线时运行的脚本。
onpagehide script 当窗口隐藏时运行的脚本。
onpageshow script 当窗口成为可见时运行的脚本。
onpopstate script 当窗口历史记录改变时运行的脚本。
onredo script 当文档执行撤销(redo)时运行的脚本。
onresize script 当浏览器窗口被调整大小时触发。
onstorage script 在 Web Storage 区域更新后运行的脚本。
onundo script 在文档执行 undo 时运行的脚本。
onunload script 一旦页面已下载时触发(或者浏览器窗口已被关闭)。
Form 事件
由 HTML 表单内的动作触发的事件(应用到几乎所有 HTML 元素,但最常用在 form 元素中):
属性 值 描述
onblur script 元素失去焦点时运行的脚本。
onchange script 在元素值被改变时运行的脚本。
oncontextmenu script 当上下文菜单被触发时运行的脚本。
onfocus script 当元素失去焦点时运行的脚本。
onformchange script 在表单改变时运行的脚本。
onforminput script 当表单获得用户输入时运行的脚本。
oninput script 当元素获得用户输入时运行的脚本。
oninvalid script 当元素无效时运行的脚本。
onreset script 当表单中的重置按钮被点击时触发。HTML5 中不支持。
onselect script 在元素中文本被选中后触发。
onsubmit script 在提交表单时触发。
Keyboard 事件
属性 值 描述
onkeydown script 在用户按下按键时触发。
onkeypress script 在用户敲击按钮时触发。
onkeyup script 当用户释放按键时触发。
Mouse 事件
由鼠标或类似用户动作触发的事件:
属性 值 描述
onclick script 元素上发生鼠标点击时触发。
ondblclick script 元素上发生鼠标双击时触发。
ondrag script 元素被拖动时运行的脚本。
ondragend script 在拖动操作末端运行的脚本。
ondragenter script 当元素元素已被拖动到有效拖放区域时运行的脚本。
ondragleave script 当元素离开有效拖放目标时运行的脚本。
ondragover script 当元素在有效拖放目标上正在被拖动时运行的脚本。
ondragstart script 在拖动操作开端运行的脚本。
ondrop script 当被拖元素正在被拖放时运行的脚本。
onmousedown script 当元素上按下鼠标按钮时触发。
onmousemove script 当鼠标指针移动到元素上时触发。
onmouseout script 当鼠标指针移出元素时触发。
onmouseover script 当鼠标指针移动到元素上时触发。
onmouseup script 当在元素上释放鼠标按钮时触发。
onmousewheel script 当鼠标滚轮正在被滚动时运行的脚本。
onscroll script 当元素滚动条被滚动时运行的脚本。
Media 事件
由媒介(比如视频、图像和音频)触发的事件(适用于所有 HTML 元素,但常见于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):
属性 值 描述
onabort script 在退出时运行的脚本。
oncanplay script 当文件就绪可以开始播放时运行的脚本(缓冲已足够开始时)。
oncanplaythrough script 当媒介能够无需因缓冲而停止即可播放至结尾时运行的脚本。
ondurationchange script 当媒介长度改变时运行的脚本。
onemptied script 当发生故障并且文件突然不可用时运行的脚本(比如连接意外断开时)。
onended script 当媒介已到达结尾时运行的脚本(可发送类似“感谢观看”之类的消息)。
onerror script 当在文件加载期间发生错误时运行的脚本。
onloadeddata script 当媒介数据已加载时运行的脚本。
onloadedmetadata script 当元数据(比如分辨率和时长)被加载时运行的脚本。
onloadstart script 在文件开始加载且未实际加载任何数据前运行的脚本。
onpause script 当媒介被用户或程序暂停时运行的脚本。
onplay script 当媒介已就绪可以开始播放时运行的脚本。
onplaying script 当媒介已开始播放时运行的脚本。
onprogress script 当浏览器正在获取媒介数据时运行的脚本。
onratechange script 每当回放速率改变时运行的脚本(比如当用户切换到慢动作或快进模式)。
onreadystatechange script 每当就绪状态改变时运行的脚本(就绪状态监测媒介数据的状态)。
onseeked script 当 seeking 属性设置为 false(指示定位已结束)时运行的脚本。
onseeking script 当 seeking 属性设置为 true(指示定位是活动的)时运行的脚本。
onstalled script 在浏览器不论何种原因未能取回媒介数据时运行的脚本。
onsuspend script 在媒介数据完全加载之前不论何种原因终止取回媒介数据时运行的脚本。
ontimeupdate script 当播放位置改变时(比如当用户快进到媒介中一个不同的位置时)运行的脚本。
onvolumechange script 每当音量改变时(包括将音量设置为静音)时运行的脚本。
onwaiting script 当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本
Springboot+Mysql+JPA+Thymeleaf,自动生成表结构,此项目只讲干货,无过多描述性文字,如需下载完整的Demo,文章底部有下载链接。
项目分为以下几步:添加所属依赖,创建数据库,创建dao层,在controller中返回页面。
可以使用idea进行新建也可以在start.spring.io中生成下载。
主要依赖有:mysql连接数据库的依赖,jdbc,thymeleaf依赖,web依赖,JPa的依赖。如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
#数据库相关配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=xxx
@Entity
@Table(name = "t_user") //指定生成的数据库表名称
public class User {/**
* 设置主键,默认自增
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;private String userName;private String sex;
private LocalDateTime birthDay;
此接口继承JpaRepository,里面已经包含了很多现成的方法,无需实现,拿来就能用。同时还可以写自己的方法,写的方法可以不写实现,JPA会根据方法名自动解析,帮你实现。当然,也可以自己写sql语句进行实现,可以写普通的SQL和HQL,都可以
/**
* 此接口默认已经完成基本的增删改查功能,还可以自己拓展
*/
@Repository
public interface UserPository extends JpaRepository<User, Integer> {/**
* 根据方法名自动解析,无需实现
* @param userName
* @return
*/
User findUserByUserName(String userName);/**
* 指定使用的SQL,类似Myabatis的@Select
* 原生sql 查询写法
* @param username
* @return
*/
@Query(value = " SELECT * from t_user where username=:username", nativeQuery = true)
User findUserByUsername(@Param("username") String username);/**
* 指定使用的SQL,次处是HQL
* Hql语法 查询写法
* @param sex
* @return
*/
@Query(value = "from User u where u.sex=:sex")
User findUserBySex(@Param("sex") String sex);
}
里面有返回页面的,也有返回数据的,默认情况下返回数据如果是对象或者list之类的,会自动转成JSON返回。
@Controller public class UserController { private Logger logger = LoggerFactory.getLogger(UserController.class); /** * 返回页面 * @return */ @RequestMapping(value = "/") public String index() { logger.info("进入index页面"); return "index"; } /** * 返回数据 * @return */ @ResponseBody @RequestMapping("/data") public String data() { return "hello World"; }
https://vsalw.com/wp-content/uploads/Demos.zip
放是众所周知的最新功能,由于其方便的功能模式,可以在网页中手动提供输入。拖放方法可以描述为用户从源字段中的项目列表中选择特定 data/ 选项,将其拖放到目标字段中的过程。它是使用文档对象模型以及来自 HTML 网页的多个鼠标事件实现的。此功能中使用的各种事件包括拖动、拖动启动、拖动离开、拖动输入、拖动、拖放、拖动结束和拖动退出。
最新的拖放 (dnd) 功能中包含多个事件;让我们一一看如下:
序号 | 事件 | 描述 |
1 | Drag | 在鼠标与要拖动的元素一起移动时拖动实体(元素或文本)。 |
2 | Dragstart | 拖放的第一步是dragstart。当用户开始将对象拖动到所需位置时,它会被执行。 |
3 | Dragenter | 当鼠标悬停在目标元素上时使用 Dragenter 事件。 |
4 | Dragleave | 当用户从元素释放鼠标时,使用此事件。 |
5 | Dragover | 当鼠标习惯于在元素上时,会发生此事件. |
6 | Drop | 此事件在拖放过程结束时用于放置元素操作。 |
7 | Dragend | 即使在从元素中释放鼠标按钮以完成拖动过程的过程中,这也是最重要的方法之一。 |
8 | Dragexit | 此事件状态表明元素不再进入拖动过程的紧急目标选择元素。 |
让我们看看将发生拖放操作的一些数据属性:
1. dataTransfer.dropEffect [ = value ]: 此属性用于显示当前正在进行的操作。可以将其设置为替换已选择的操作。其中包含的值,如copy, link, none or move.
2. dataTransfer.effectAllowed [ = value ]: 无论允许执行什么操作,都将通过此属性返回。也可以设置为更改已选择的操作.
3. dataTransfer.files: 此数据属性用于获取要拖动的文件的文件列表。
4. dataTransfer.addElement(element):它用于将已经存在的元素插入到其他元素列表中,这些元素可用于呈现拖动反馈.
5. dataTransfer.setDragImage(element, x, y): 此属性与上面略有相同,用于更新拖动反馈并帮助更改已经存在的反馈
6. dataTransfer.clearData ( [ format ] ):它可以帮助用户从已定义的格式中删除数据。如果用户省略了参数,IT 将删除所有数据。
7. dataTransfer.setData(format, data):它是用于添加指定数据的常用属性之一。
8. data = dataTransfer.getData(format): 拖动和拖动操作中的此属性用于提取指定的数据。如果没有与它相同的数据,它将返回到空字符串。
以下是定义拖放语法的几个步骤:
选择拖放目标: 设置可拖放
<element draggable="true">
开始拖 :
function dragStart(ev){}
放 :
function dragDrop(ev){}
以下示例将显示拖放操作在 HTML 中的确切执行方式:
代码:
<html>
<head>
<title>Drag and Drop Demo</title>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function dragStart(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function dragDrop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
<style>
#box {
margin: auto;
width: 30%;
width: 21%;
height:150px;
border: 2px solid blue;
padding: 2px;
}
#square1, #square2, #square3 {
float: left;
margin: 5px;
padding: 10px;
}
#square1 {
width: 30px;
height: 30px;
background-color: #BEA7CC;
}
#square2 {
width: 60px;
height: 60px;
background-color: #B5D5F5;
}
#square3 {
width: 90px;
height: 90px;
background-color:#F5B5C5 ;
}
h2 {
font-size:20px;
font-weight:bold;
text-align:center;
}
</style>
</head>
<body>
<h2>HTML DRAG AND DROP DEMO</h2>
<div id = "box">
<div id="square1" draggable="true"ondragstart="dragStart(event)"></div>
<div id="square2" draggable="true"ondragstart="dragStart(event)"></div>
<div id="square3" ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div>
</div>
</body>
</html>
效果: 拖放前:
拖放后s :
在这里,我们将看到另一个示例,其中我们将图像从一个位置移动到另一个指定位置,如下面的代码所示:
<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev) {
ev.preventDefault();
}
function dragStart(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
function dragDrop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
ev.target.appendChild(document.getElementById(data));
}
</script>
<style>
.divfirst {
width: 250px;
height: 150px;
padding: 10px;
border: 1px solid black;
background-color: #F5F5F5;
}
p {
font-size:20px;
font-weight:bold;
}
</style>
</head>
<body>
<p>Image Drag and Drop Demo</p>
<div class="divfirst" ondrop="dragDrop(event)" ondragover="allowDrop(event)">
<img id="drag1"
src="Jerry.jpeg" draggable="true"
ondragstart="dragStart(event)" width="250" height="150"></div>
<br>
<div class= "divfirst"ondrop="dragDrop(event)"
ondragover="allowDrop(event)"></div>
</body>
</html>
Output: 拖放前 :
拖放后:
在此示例中,我们将了解如何将文件拖放到指定位置:
<body>
<div id="filedemo" style="min-height: 150px; border: 1px solid black;"
ondragenter="document.getElementById('output').textContent = ''; event.stopPropagation(); event.preventDefault();"
ondragover="event.stopPropagation(); event.preventDefault();"
ondrop="event.stopPropagation(); event.preventDefault();
dodrop(event);">
DROP FILES HERE...
</div>
<script>
function dodrop(event)
{
var dt = event.dataTransfer;
var files = dt.files;
for (var i = 0; i < files.length; i++) {
output(" File " + i + ":\n(" + (typeof files[i]) + ") : <" + files[i] + " > " +
files[i].name + " " );
}
}
function output(text)
{
document.getElementById("filedemo").textContent += text;
}
</script>
</body>
效果:
HTML 拖放是最重要的用户界面实体之一,将用于复制、删除或录制等不同目的。它适用于不同的事件和属性,如上所列。当您选取某个对象然后将其放在指定位置时,它会执行该操作。
*请认真填写需求信息,我们会在24小时内与您取得联系。