(表格单元),等等,但是要符合表格的结构规范。
遵循规范的嵌套对于保持文档结构的一致性和网页可访问性至关重要,同时也有助于浏览器正确解析和显示内容。HTML文档的设计和开发应该根据HTML标准规范来组织元素的嵌套层级。在实际使用中,确保元素之间的嵌套符合HTML语义和结构规范非常重要。
2.3.hr标签如何设置高度
你可以使用
标签的 size
属性来设置水平线的高度。size
属性用于指定水平线的高度,并有以下两个可选的值:1
和 2
。
size="1"
表示标准的默认高度(通常为2像素)。
size="2"
表示较粗的高度(通常为3像素或更多)。
下面是一个使用 size
属性来设置
标签高度的示例:
< hr size = " 1" >
< hr size = " 2" >
请注意,尽管 size
属性可以指定
标签的高度,但是具体的高度取决于浏览器和设备的默认样式和设置。因此,实际的高度可能会有所不同。如果需要更精确地控制水平线的高度,建议使用 CSS 方法,如之前的示例所示。
2.4.拼音音标注释ruby标记和rt/rp标记
使用 HTML 的
,
, 和
标签可以为文字添加发音注释,例如汉字拼音、日语假名等。这些标记通常用于注释那些可能不为所有读者所熟悉的文字。
下面是一个简单的例子,展示了如何使用这些标签为中文汉字加上拼音注释:
< ruby>
汉字 < rt> hàn zì rt>
< rp> ( rp> < rt> Hànzì rt> < rp> ) rp>
ruby>
在这个例子中:
元素包含了需要被注释的文字以及它的拼音注释。
(ruby text) 元素包容了注释文本,它出现在或者在指定的文字之上方。
(ruby parentheses) 元素是一个注音的括号,旨在当浏览器不支持
元素时显示,向那些旧版或不支持
的浏览器用户显示括号内的注释。也就是说,
标签是提供降级方案的。
现代浏览器广泛支持这些标签,所以通常只需要
和
。而
标签中包含的内容主要作为后备内容,供那些不支持
标签的浏览器使用。
2.5.blockquote段落缩进
是 HTML 中用来表示引用文字的一个块级元素 。当你想要引用一个大段的文字时,比如一段演讲、书中的一段话或引用其他来源的内容,你可以使用
标签。
这个标签通常会被浏览器默认以缩进的形式呈现,以此来区分引用的内容和其他正文内容。你也可以通过 CSS 来自定义
的表现形式,例如改变缩进量、字体样式、背景色等。
这里有一个
的例子:
< blockquote cite = " http://www.worldwildlife.org/who/index.html" >
For 50 years, WWF has been protecting the future of nature.
The world's leading conservation organization,
WWF works in 100 countries and is supported by
1.2 million members in the United States and
close to 5 million globally.
blockquote>
在这个例子中,我们看到几个要素:
cite
属性可以可选地包含引用来源的 URL,这个属性不会在页面上显示,但有助于定义引用内容的来源。
包含在
标签中的文本应是其他来源的字面引用。
要注意的是,对于引用较短的内容,比如一个短句或短语,更适合使用
标签而不是
。而
适合在你需要引用一段较长的内容时使用。
2.6.预格式化pre标记
标签用于在 HTML 中定义预格式化的文本。使用
标签包围的文本通常会保留空白字符,如空格和换行符,而在普通的 HTML 中,多个空格或换行通常会被视为一个空格处理。
这意味着
标签非常适合显示程序代码或其他需要按照特定格式呈现的文本,因为它可确保文本的格式不会被浏览器规范化,而是按照其原有样式进行显示。
以下是一个
标签的例子:
< pre>
if (condition) {
console.log("The condition is true!");
} else {
console.log("The condition is false!");
}
pre>
在上面的例子中:
标签内的文本按原样显示,包括空格和换行符。
这可以很好地显示程序代码或者排列整齐的文本数据。
通常,
标签中的文本会以等宽(monospaced)字体显示(如 Courier),以便所有的字符都具有相同的宽度,这使得对齐文本变得更加容易。如果你想自定义
标签的样式,你可以使用 CSS 来实现。
代码小结
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< title> title>
head>
< body>
< h1 align = " left" > 这是一级标题 h1>
< h2 align = " center" > 这是二级标题 h2>
< h3 align = " right" > 这是三级标题 h3>
< h4 align = " justify" > 这是四级标题 h4>
< hr style = " border : 5px solid #fff333; " />
< a> 以下是特殊标记 a>
< br />
< a> 空格 a>
< a> < 小于号 a>
< a> © 版权 a>
< a> & 号& a>
< a> > 大于号 a>
< a> " "引号" a>
< a> ® 注册商标 a>
< a> x× 号 a>
< a> ÷ 号 a>
< hr style = " border : 5px solid #fff333; " />
< p> 以下是常见的文本修饰标记 p>
< b> 定义粗体 b> < br />
< i> 定义斜体 i>
< u> 定义下划线 u>
< del> 定义删除线 del>
< sup> 定义上标 sup>
< sub> 定义下标 sub>
< strong> 定义着重文字,与粗体相同 strong>
< em> 定义加重语气,与斜体相同 em>
< small> 变小字号 small>
< big> 变大字号 big>
< hr style = " border : 5px solid #fff333; " />
< samp> < code> #indelu< stdio.h>
int main(){
printf("555")
} code> samp>
< abbr> 定义缩写 abbr>
< address> 定义地址 address>
< cite> 引用、引证 cite>
< q> 引用短语 q>
< dfn> 定义项目 dfn>
< hr style = " border : 5px solid #fff333; " />
< p> 下面定义字体 p>
< strong> 文字样式为黑体,颜色#000fff、大小-1~-7 strong>
< font face = " 黑体" size = " -1" color = " #000fff" > -1字 font>
< font face = " 黑体" size = " -3" color = " #000fff" > -3字 font>
< font face = " 黑体" size = " -5" color = " #000fff" > -5字 font>
< font face = " 黑体" size = " -7" color = " #000fff" > -7字 font> < br />
< strong> 文字W样式为宋体 strong>
< font face = " 宋体" size = " 2" color = " #000fff" > 2字 font>
< font face = " 宋体" size = " 4" color = " #000fff" > 4字 font>
< font face = " 宋体" size = " 6" color = " #000fff" > 6字 font> < br />
< strong> 文字样式为隶书 strong>
< font face = " 隶书" size = " 1" color = " #000fff" > 1字 font>
< font face = " 隶书" size = " 3" color = " #000fff" > 3字 font>
< font face = " 隶书" size = " 5" color = " #000fff" > 5字 font>
< font face = " 隶书" size = " 7" color = " #000fff" > 7字 font> < br />
< hr size = " 5" color = " #fff333" >
< p> 拼音音标注释ruby标记和rt/rp标记 p>
< ruby>
中< rt> zhong rt>
国< rt> guo rt>
ruby>
< blockquote> 块级标记,向右缩进5个字符位置 blockquote>
< p> 预格式化标记pre p>
< pre align = " left" > //无效
这里什么样子
html,显示
什么
样
字。
pre>
body>
html>
页面展示
3.列表
当然,让我们更深入地了解HTML中列表的使用。
3.1.列表概述
HTML中的列表允许开发者在网页上组织条目。列表通常用于呈现一系列关联信息,比如菜单项、操作步骤、概念总结等。列表可以帮助用户快速扫描信息,并因为其结构化的格式而容易阅读和理解。
3.2.无序列表(Unordered List)
无序列表使用
元素来创建,用来表示一个项目集合,项目的顺序不重要。列表中的每个项目使用
标签定义。无序列表默认会用项目符号(例如,圆点)来表示列表项,但这个符号可以通过CSS更改为其他图案或图像。
< ul>
< li> 牛奶 li>
< li> 面包 li>
< li> 黄油 li>
ul>
3.3.有序列表(Ordered List)
有序列表使用
元素创建,用来展示一个有明确顺序的项目序列。就像无序列表一样,它由多个
标签定义的列表项组成。有序列表中的项默认用数字来标记,这些数字可以是阿拉伯数字、罗马数字或英文字母,也可以通过CSS属性自定义。
< ol>
< li> 打开浏览器 li>
< li> 访问网址 li>
< li> 阅读内容 li>
ol>
3.4.列表嵌套(Nested Lists)
列表嵌套是将一个列表放入另一个列表项中的做法,无论是无序列表还是有序列表都可以相互嵌套,用以创建层次或子步骤。
< ul>
< li> 早餐
< ul>
< li> 燕麦粥 li>
< li> 鸡蛋 li>
ul>
li>
< li> 午餐 li>
< li> 晚餐 li>
ul>
3.5.定义列表(Definition List)
定义列表不是用来列举项目,而是成对地展示术语和描述。它使用
元素包围整个列表,用
定义术语(Definition Term),用
来提供术语的描述或定义。
< dl>
< dt> HTML dt>
< dd> 用来构建网页的标准标记语言。 dd>
< dt> CSS dt>
< dd> 用来描述网页外观和格式的样式表语言。 dd>
dl>
使用这些列表类型,可以创建清晰、组织良好的内容结构,对于提升用户体验和可读性都是非常重要的。在实际开发中,列表还经常与CSS、JavaScript结合使用,以创建动态交互的网页组件,如下拉菜单、导航栏、步骤指示器等。
代码小结
DOCTYPE html >
< html>
< head>
< meta charset = " utf-8" >
< title> 列表 title>
head>
< body>
< hr size = " 5" color = " blue" width = " 100%" />
< p> 有序和无序列表 p>
< ul type = " disc" > 默认指定,如果下方无序列表没有指定的话。< br />
< li type = " disc" > 实心圆形 li>
< li type = " circle" > 空心圆形 li>
< li type = " square" > 实心正方形 li>
ul>
< ol type = " 1" start = " 7" >
< p> type可以选择阿拉伯数字,罗马字母,或者英文字母 p>
< p> star可以选择开始项 p>
< li> 项目名称 li>
< li type = " a" > 只影响当前列表项的标记类型,后面依然遵循ol type的取值 li>
< li> 项目名称 li>
< li type = " I" value = " 5" > 改变当前列表项的值和类型,并影响后续的值,只改变当前类型 li>
< li> 项目名称 li>
ol>
< hr size = " 5" color = " yellow" />
< p> 列表嵌套 p>
< ul>
< li> < h4> xiangmu h4> li>
< li> 开始嵌套
< ol>
< li> 1开始 li>
< li type = " disc" > 嵌套返回
< ol type = " 1" >
< li> 1 li>
ol>
li>
ol>
li>
ul>
< hr size = " 5" color = " green" />
< p> 定义列表 p>
< dl>
< dt> 项目1 dt>
< dd> 描述1 dd>
< dd> 描述2 dd>
< dd> 描述3 dd>
< dt> 项目2 dt>
< dd> 描述1 dd>
< dd> 描述2 dd>
< dd> 描述3 dd>
dl>
< dl>
< dt> 联系人: dt>
< dd> 沈杰 dd>
< dd> 电话:01020200 dd>
< dd> Email:xyz@sina.com dd>
< dt> 联系地址 dt>
< dd> 上海复旦大学软件4半 dd>
< dd> 难 dd>
< dd> 难 dd>
dl>
< a name = " 书签名" > 123456 a>
body>
html>
页面展示
4.超链接与浮动框架
4.1.a标签
标签是 HTML 中的超链接元素,可以用来创建指向其他网页、文件、位置或页面的链接。
标签还有name
和title
属性规定锚的名称、指向连接的提示信息。
标签必须配合 href
属性使用,来指定超链接的目标,例如:
< a href = " https://www.google.com/" > Google首页 a>
以上代码会创建一个链接,指向 Google 的首页。
另外,还可以使用 target
属性来指定链接在何处打开。常用的参数包括:
_self
: 在当前窗口打开链接(默认值)。
_blank
: 在新的窗口或新的标签页中打开链接。
_parent
: 在父级窗口或框架中打开链接。
_top
: 在整个窗口中打开链接。
framename
在指定的框架或浮动框架内打开连接,框架名称可以自定义。
例如,以下代码会在新的标签页中打开 Google 的首页:
< a href = " https://www.google.com/" target = " _blank" > Google首页 a>
常见的超链接还有锚点链接,在当前页面内跳转到指定位置。详细介绍可以查看 HTML 相关的教程。
a标签页面内跳转到指定位置
在 HTML 中,当
标签的 href
属性的值以 “#” 开头时,它表示一个锚点 (anchor),用于页面内跳转,而不是跳转到另一个页面。这在创建单页网站或在长页面中快速导航到特定部分时非常有用。#
后面通常紧跟着一个 ID,该 ID 对应页面上某个元素的 ID。
例如:
< a href = " #section1" > 跳转到第一节 a>
...
< div id = " section1" >
这是页面中的第一节。
div>
当用户点击这个链接时,浏览器会滚动到页面中 id="section1"
的元素处。
如果 href
属性中只包含 #
而没有跟随 ID(例如 href="#"
),该链接通常用于创建一个回到页面顶部的快捷方式,或者在不指定具体动作的情况下触发 JavaScript 事件。不过要注意,仅仅在 href
中使用 #
(没有指定 ID)会导致页面滚动到顶部。
如果 href
属性中包含 #
且没有紧随任何字符或仅跟有 ID,但页面上没有对应的元素具有该 ID,单击该链接时页面的位置不会发生变化。
在使用 SPA(Single Page Application)框架(如 React, Angular, Vue 等)时,#
还常见于 hash 路由中,即使用 URL 的哈希部分(URL 中 #
以及之后的部分)来模拟完整的导航历史,这样单页应用在客户端导航时无需重新加载页面。
代码小结
DOCTYPE html >
< html>
< head>
< meta charset = " utf-8" >
< title> title>
head>
< body>
< h1 id = " 666" > head1 h1>
< h1> 超链接 h1>
< div style = " width : 50px; " >
< a name = " 书签标" > a>
< h1> hello h1>
div>
< h3 name = " 666" style = " color : blue; " > 超链接 target 属性测试 h3>
< a href = " http://baidu.com" title = " baidu" target = " _self" > 在当前框架中打开连接 a>
< br />
< a href = " http://baidu.com" title = " baidu" target = " _blank" > 在一个全新的空白框架中打开连接 a>
< br />
< a href = " http://baidu.com" title = " baidu" target = " _parent" > 在当前框架的上一层打开连接 a>
< br />
< a href = " http://baidu.com" title = " baidu" target = " _top" > 在根(顶层)框架中打开连接 a>
< br />
< h3 align = " center" style = " color : aqua; " > 绝对、相对、根 h3>
< a href = " ../123456/temple/index.html" target = " _self" > 相对路径 a>
< a href = " C:/Users/shenyang/Documents/H`BuilderProjects/123456/列表.html" > 根路径 a>
< a href = " http://baidu.com" > 根路径 a>
< h1> 超链接的应用 h1>
< h3> < a href = " ch5.ppt" > 1.HTTP下载-文件ch5.ppt a> h3>
< h3> < a href = " ftp://sjtu.edu.cn" > 2.FTP下载-上海交通大学FTP站点 a> h3>
< h3> 3.图像超链接
< a href = " https://www.baidu.com" >
< img border = " 0" src = " img/google.jpg" />
a> h3>
< a href = " mailto:someone@microsoft.com;xyz@163.com?cc=jlchu@163.com&bcc=12345678@qq.com&subject=Hello%20again&body=同学们:你们好" > 发送邮件 a>
< p> 应该使用 %20 替换单词之间的空格这样浏览器就能正确的显示文本了 p>
< h3> 创建页面书签链接 h3>
< p> 定义书签 p>
< a name = " 书签名" > 书签标题 a>
< a href = " #书签标" > 同页书签标题,会返回书签标Hello的位置 a>
< a href = " 列表.html#书签名" > 异页书签标题 a>
< a href = " #666" > 尝试跳转到head1 a>
< hr color = " red" />
body>
html>
4.2.内联框架
内联框架(Inline Frame)也叫浮动框架在 HTML 中通过
标签实现,可以用来在当前页面内嵌入另一个独立的网页。它常用于插入来自另一个源或同一源的页面内容,例如视频、地图或一个完全独立的网页。该标记必须插入在body
标记中,而不能插入到frameset
标记中。
其基本用法如下:
< iframe src = " url" title = " description" >
iframe>
这里的 src
属性指定了要在内联框架中显示的页面的 URL,而 title
属性提供了一个描述文本,帮助提高网页的可访问性。
例如,要在页面中嵌入一个 YouTube 视频,可以这样写:
< iframe
width = " 560"
height = " 315"
src = " https://www.youtube.com/embed/dQw4w9WgXcQ"
title = " YouTube video player"
frameborder = " 0"
allow = " accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen >
iframe>
内联框架
有很多属性可以配置,比如 width
和 height
用来设定尺寸,frameborder
定义框架周围边框的可见性(现在大多使用 CSS 来替代),scrolling
设置边框滚动条marginwith
和marginherght
设置边框左右和上下边距,allowfullscreen
允许全屏模式,而 allow
属性可以用来设置对特定特性的许可,例如全屏、画中画或自动播放等。
使用
的时候也需要注意一些安全性的问题,如跨站点脚本攻击(XSS)或点击劫持。为了缓解这些问题,可以使用一些 HTTP 响应标头,如 X-Frame-Options
,以及在
中适当地应用 sandbox
属性进行限制。
sandbox
属性使你能够为页面内
中可能会执行的代码设置额外的限制。例如,你可以禁止脚本的运行,防止同一个页面的其他内容和嵌入内容之间的表单提交,或者禁止
中的内容进行导航到其他页面。
要使用 sandbox
属性,请在
标签中增加它:
< iframe
src = " url"
sandbox >
iframe>
你可以在 sandbox
属性中添加值来放松某些限制,如允许表单提交或脚本运行等。
代码小结
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " utf-8" >
< title> 浮动框架 title>
head>
< body>
< h1> 浮动框架 h1>
< div id = " " class = " " >
< h3> 浮动框架应用 h3>
< hr color = " red" />
< iframe name = " leftiframe" src = " http://www.njust.edu.cn" width = " 300"
height = " 300" marginwidth = " 10px" > iframe>
< iframe name = " rightiframe" src = " http://www.pku.edu.cn" align = " right"
width = " 300" height = " 300" marginwidth = " 10px" > iframe>
< p>
< a href = " http://www.gov.cn" target = " leftiframe" > 在左边的浮动框架中显示中央人民政府网站 a>
< a href = " http://www.moe.gov.cn" target = " rightiframe" > 在右边浮动框架内显示教育部网站 a>
p>
div>
body>
html>
页面展示
5.图像和多媒体文件
在HTML中,图像和多媒体元素允许开发者将图像、音频和视频文件嵌入网页。通过使用不同的HTML标签和属性,网页可以包含各种类型的视觉和听觉内容,从而增强用户体验。
5.1.图像(Images)
HTML通过
标签插入图像。这个标签是自闭合的,不需要结束标签。 最重要的两个属性是 src
(指定图像文件的路径)和 alt
(替代文本),后者用于在图像无法显示时提供文本描述。 此外,还可以设置 width
和 height
属性来指定图像大小,hspace
和vspace
定义图像左右侧的空白、顶部底部的空白以像素为单位但是不需要加上px
不然不会起效果 。 usamap
将图像定义为客户端图像映射,以及使用 style
属性或CSS来控制图像的更多样式。 图像的水平对齐方式有三种:left
、center
、right
,垂直对齐方式取值也有三种:top
、middle
、bottom
,表示图像与同行文字的相对位置。
例子:
< img src = " image.jpg" alt = " 描述性文本" width = " 300" height = " 200" >
5.2.border属性和alt属性
border
属性和alt
属性是两个在前端开发中常用的属性。
border
属性用于设置HTML元素的边框样式、宽度和颜色。它可以应用于大多数HTML元素,包括、
、
等等。border
属性可以接受多个值,包括边框宽度、边框样式和边框颜色,以及可选的边框样式缩写。以下是使用border
属性的示例:
< div style = " border : 1px solid black; " > 这是一个带有黑色边框的 div 元素 div>
< img src = " image.jpg" style = " border : 2px dashed red; " alt = " 这是一张图片" >
< table style = " border : 1px solid #ccc; " >
< tr>
< td> 单元格1 td>
< td> 单元格2 td>
tr>
table>
alt
属性用于为图像元素(
)设置替代文本(alternate text)。当图像无法加载或无法显示时,会显示alt
属性中的文本。这对于访问性和用户体验非常重要,因为屏幕阅读器等辅助技术可以读取alt
属性提供的文本,让用户能够理解图像的内容。以下是使用alt
属性的示例:
< img src = " image.jpg" alt = " 这是一张图片的描述" >
需要注意的是,alt
属性是可选的,但强烈建议为所有图像元素提供合适的替代文本,以确保无论图像是否显示,用户仍然可以理解图像的内容。同时,较长的alt
文本可能会干扰页面布局和阅读体3验,因此应尽量保持alt
属性的简洁和相关性。
5.3.设置图像热区链接
在网页设计中,“图像热区”(Image Map)指的是一种带有可点击区域的图片,这些区域被称为"热区"(hotspots)。每个热区都可以定义为一个特定的形状(如:矩形、圆形或多边形),并可与一个链接(URL)关联起来。当用户点击这个热区时,他们会被导向这个链接指向的地址。
要设置图像热区链接,你可以使用HTML中的
元素来定义热区,并使用
标签来指定每个热区的形状和链接。以下为一个基本示例:
< img src = " example-image.jpg" usemap = " #example-map" alt = " Example Image with Hotspots" >
< map name = " example-map" >
< area shape = " rect" coords = " 34,44,270,350" href = " http://www.example1.com" alt = " 矩形热区" >
< area shape = " circle" coords = " 90,58,3" href = " http://www.example2.com" alt = " 圆形热区" >
< area shape = " poly" coords = " 29,207,105,207,105,280,29,280" href = " http://www.example3.com" alt = " 多边形热区" >
map>
在上述代码中:
标签的usemap
属性用于指定与图片关联的map的名字。
元素定义了一个图像映射,它拥有一个name
属性,其值与
元素中的usemap
属性相对应。
元素定义了一个热区,其中:
shape
指定热区的形状("rect"代表矩形,"circle"代表圆形,"poly"代表多边形)。
coords
定义了热区的坐标和尺寸。对于矩形来说,这会是左上角的x, y坐标以及右下角的x, y坐标;对于圆形来说,是圆心的x, y坐标和半径;对于多边形,则是顶点的x, y坐标序列。
href
属性定义了热区链接到的URL。
alt
属性为热区提供了替代文本。
请注意,定义坐标时,都是基于图像本身的像素尺寸。图像热区是一个旧技术,它用于创建复杂的导航界面,但随着CSS和JavaScript的进步,现代的Web设计通常不再使用图像热区,而是使用更灵活的技术,如SVG或Canvas,结合CSS和JavaScript事件处理器来实现类似的效果。这些现代方法通常更易于维护和适应响应式设计。
代码小结
DOCTYPE html >
< html>
< head>
< meta charset = " utf-8" >
< title> 图像与多媒体 title>
< style type = " text/css" >
ul { list-style-type : none; } //去除列表项前面的符号
body { text-align : center; }
li { float : left; padding : 0 20px; } //垂直排列转变成水平排列
style>
head>
< body>
< img src = " img/google.jpg" alt = " 这是一个谷歌图标" />
< hr size = " 5" color = " red" />
< h2 align = " center" > 设置图像高度及边框 h2>
< hr color = " red" />
< ul>
< li> < img src = " img/google.jpg" alt = " 原图" /> li>
< li> < img src = " img/google.jpg" alt = " 原图 width=" 100px" /> li>
< li> < img src = " img/google.jpg" alt = " 原图" width = " 75px" height = " 50px" /> li>
< li> < img src = " img/google.jpg" alt = " 原图" width = " 75px" height = " 50px" border = " 10" /> li>
ul>
< hr color = " blue" />
< h3 align = " center" > 图像和热区链接的应用 h3>
< img src = " img/google.jpg" usemap = " #映射图像名称" />
< map name = " 映射图像名称" id = " 映射图像名称" >
< area shape = " rect" coords = " 34,44,270,350" href = " http://www.baidu.com" alt = " 矩形热区" >
< area shape = " circle" coords = " 90,58,3" href = " http://www.baidu.com" alt = " 圆形热区" >
< area shape = " poly" coords = " 29,207,105,207,105,280,29,280" href = " http://www.baidu.com" alt = " 多边形热区" >
map>
body>
html>
运行样式
5.4.滚动文字
在网页中创建滚动文字的一种简单方法是使用HTML的
标签,尽管这个标签是早期的Web设计元素并且现在在HTML5标准中已经不推荐使用,因为它不符合现代Web标准和可访问性标准。
使用
创建基本的滚动文字示例如下:
< marquee> < h4> 这是滚动的文字! h4> marquee>
然而,现代Web设计推荐使用CSS动画来达到滚动文字的效果。CSS3 提供了强大的 @keyframes
规则和 animation
属性,这可以让你创建平滑且可控的动画效果。下面是一个使用CSS创建水平滚动文字效果的例子:
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< title> 滚动文字示例 title>
< style>
.scroll-text {
white-space : nowrap;
overflow : hidden;
box-sizing : border-box;
}
.scroll-text p {
display : inline-block;
padding-left : 100%;
animation : scroll-left 10s linear infinite;
}
@keyframes scroll-left {
0% {
transform : translateX ( 0%) ;
}
100% {
transform : translateX ( -100%) ;
}
}
style>
head>
< body>
< div class = " scroll-text" >
< p> 这是一个滚动的文字效果。你可以调整动画的速度和行为。 p>
div>
body>
html>
在上面的代码中,.scroll-text
容器被设置为 overflow: hidden
以隐藏视图之外的内容。
标签代表我们要移动的文字,它使用 animation
属性来应用名为 scroll-left
的关键帧动画。@keyframes scroll-left
规则定义了动画过程,从文字完全在视图之外到完全走出视图的左侧。
根据你的需要调整 animation
的时长、迭代次数 (infinite
表示动画无限次循环) 和其他行为,可以定制不同的滚动效果。 虽然 CSS的方式十分强大但我们这次还是主要学习基本的HTML
实现。
设置滚动文字背景颜色与滚动循环
使用基本的HTML属性来实现文字的滚动循环以及背景颜色设置,可以使用
标签配合bgcolor
属性。然而需要注意的是,
标签是非标准的,并且已经在现代web标准中被废弃,不推荐在生产环境中使用。
以下是一个示例,演示如何用HTML的基本属性来设置带有背景颜色的滚动文字:
< marquee bgcolor = " #00ff00" scrollamount = " 5" loop = " 5" scrolldelay = " 5" > 这是一个带有背景颜色的滚动文本。 marquee>
在这段代码中:
bgcolor
属性用来设置背景颜色(在本例中是绿色,代号 #00ff00)。
scrollamount
属性用来设置滚动速度(每次滚动的像素数)。
scrolldelay
: 控制滚动的延迟(每次滚动的时间间隔,以毫秒为单位)。
loop
设置滚动次数。
设置滚动方向与滚动方式
使用原始 HTML 属性来控制滚动方向和滚动方式是通过
标签实现的,尽管它不受现代 Web 标准支持及推荐。
标签主要有以下属性来控制滚动行为:
direction
: 控制滚动的方向。取值如下:
left
: 文字从右向左滚动。
right
: 文字从左向右滚动。
up
: 文字从下向上滚动。
down
: 文字从上向下滚动。
behavior
: 控制滚动的方式。取值如下:
scroll
: 默认值,表示文本不断滚动。
slide
: 文本滑动到边缘后停止(滚动一次)。
alternate
: 文本在两端之间来回滚动。
这里有一个使用这些属性的示例:
< marquee direction = " up" behavior = " alternate" scrollamount = " 3" scrolldelay = " 85" bgcolor = " #00ff00" >
这是一个上下来回滚动的文本。
marquee>
这段代码创建的滚动文本将从下向上滚动,并在达到顶部或底部时改变方向(alternate
行为),具有浅绿色的背景颜色。scrollamount
和 scrolldelay
属性分别设置了滚动步长和滚动延迟时间。
再次强调,鉴于
标签已不再维护,并可能不被所有浏览器支持,使用此标签的 Web 页面可能无法在所有环境中达到一致的效果。考虑到可用性和未来兼容性,仍然推荐使用 CSS 动画或 JavaScript 为用户提供滚动效果。
滚动范围与空白空间
在
元素中,可以通过一些特定的属性来设置滚动范围和两端的空白空间,但是请注意,这些设置在不同的浏览器中可能会有不同的表现,或者可能根本不受支持,因为
是一个非标准的、已废弃的 HTML 标签。
滚动范围:滚动范围一般是由
元素在页面布局中的位置与大小决定的。你可以通过 CSS 样式来控制元素的宽度和高度(比如 width
和 height
属性),这样间接控制滚动的范围。
< marquee width = " 200px" height = " 50px" > 滚动文本 marquee>
空白空间:在
中,可以使用 hspace
和 vspace
属性分别定义水平和垂直方向上的空白空间,即滚动文本与边框之间的距离。但是,这些属性已经不再推荐使用,而且可能不被所有浏览器支持。
< marquee hspace = " 20" vspace = " 10" > 滚动文本 marquee>
在这里,hspace="20"
设置了左右两边各有 20 像素的空白间距,vspace="10"
设置了上下各有 10 像素的空白间距。
代码小结
DOCTYPE html >
< html>
< head>
< meta charset = " utf-8" >
< title> 滚动文字 title>
< style>
h4 { font-size : 20px; color : aqua; font-family : 隶书; }
style>
head>
< body>
< h3 align = " center" > 添加滚动文字 h3>
< hr color = " #000066" />
< marquee> < h4> 该文字为滚动效果 h4> marquee>
< hr color = " yellow" />
< p> 设置滚动文字的背景颜色与滚动循环 p>
< marquee bgcolor = " blue" loop = " 4" scrollamount = " 50" > 滚动内容 marquee>
< h1> 滚动文字属性设置综合应用 h1>
< marquee bgcolor = " #c4elc6" with = " 60px" height = " 100px"
haspace = " 100" vspace = " 100" direction = " up" behavior = " alternate" scrollamount = " 1" scrolldelay = " 20" >
< p>
设置滚动空白空间就是值滚动文字背景和它周围文字及图像之间的空白空间范围。默认情况下它们是紧密相连的,
使用haspace和vspace可设置它们之间的关系。
p>
marquee>
body>
html>
运行样式
5.5.多媒体文件
5.5.1. 音频(Audio)
HTML使用
标签来嵌入音频文件。此标签允许多种属性,如 controls
显示播放器控件,autoplay
自动播放音频(不推荐使用,因为可能对用户来说是一种干扰),loop
循环播放音频,以及 preload
来指定页面加载时音频文件的预加载方式。
例子:
< audio controls >
< source src = " audio.mp3" type = " audio/mpeg" >
< source src = " audio.ogg" type = " audio/ogg" >
< p> 你的浏览器不支持 HTML5 音频。 p>
audio>
5.5.2.视频(Video):
HTML中
标签用于嵌入视频文件。这个标签类似于
,也有 controls
、autoplay
、loop
等相应的属性,并且可以通过
标签指定视频文件的不同格式以确保在不同的浏览器中兼容。
例子:
< video width = " 320" height = " 240" controls >
< source src = " movie.mp4" type = " video/mp4" >
< source src = " movie.ogg" type = " video/ogg" >
< p> 你的浏览器不支持 HTML5 视频。 p>
video>
在HTML中,
标签的 controls
属性用来向用户提供播放控件。如果指定了该属性,那么浏览器会为视频提供内置的控件,例如播放/暂停按钮、音量控制、全屏选项和时间轴(进度条)。用户可以使用这些控件来控制视频的播放。
没有 controls
属性的情况下,视频仍然可以播放,但是用户没有界面来控制视频的播放行为,除非是通过其他用户界面元素(如自定义JavaScript控制)或直接与视频进行交互。如果不希望显示播放控件,可以去掉 controls
属性。 5.5.3.对象和嵌入(Object & Embed):
标签用于嵌入各种类型的多媒体,包括 Flash 动画、Java applets、PDF 文件等。
标签在之前主要用于嵌入插件内容,如Flash。同样具有autoplay
、loop
、starttime
等相应的属性,hidden
规定控制面板是否显示,volume
调整音频或者视频文件音量大小。但随着HTML5的普及,这些标签的使用频率大大减少,因为
和
标签的功能覆盖了多数需求。
例子:
< object data = " flash.swf" width = " 400" height = " 400" >
< param name = " movie" value = " flash.swf" >
< p> 你的浏览器不支持插入对象。 p>
object>
在使用图像和多媒体时,要考虑用户体验和可访问性。例如,应保证替代文本是有效的,视频和音频内容应提供字幕,确保能通过键盘导航到媒体播放控件等。同时,还需要注意性能问题,例如不必要的自动播放,大型媒体文件可能会导致网页加载缓慢。
代码小结
DOCTYPE html >
< html>
< head>
< meta charset = " utf-8" >
< title> 页面汇中嵌入多媒体文件 title>
< style type = " text/css" >
div { text-align : center; font-size : 18px; font-family : 黑体; }
style>
head>
< body>
< div id = " " class = " " >
< h3> 醉花阴 h3>
< h4> 李清照 h4>
< hr size = " 5" color = " #660099" />
< p>
薄雾浓云愁永昼,瑞脑消金兽。< br />
佳节又重阳,玉枕纱橱,半夜凉初透。< br />
东篱把酒黄昏后,有暗香盈袖。< br />
莫道不消魂,帘卷西风,人比黄花瘦。< br />
p>
< hr size = " 5" color = " #660066" />
< h3> 嵌入的多媒体文件 h3>
< embed src = " orther/MP4.mp4" width = " 300" height = " 150" autostart = " true" loop = " false" >
embed>
< video width = " 300" height = " 150" autostart = " true" loop = " false" controls >
< source src = " orther/MP4.mp4" type = " video/mp4" />
video>
< br />
< audio width = " 300" height = " 150" controls >
< source src = " orther/audio.mp3" type = " audio/mpeg" >
audio>
div>
body>
html>
运行样式
你可能感兴趣的:(前端,html,前端)
uni-app实现 步骤条
夏夏的码农
uni-app
实现如图样式html部分代码如下投资期限与收益0?'active':'default'">募集开始1?'active':'default'">募集结束2?'active':'default'">产品成立3?'active':'default'">产品到期0?'active-step1':'step1'">1?'active-st
大前端-postcss安装使用指南
黑夜照亮前行的路
postcss
PostCSS是一款强大的CSS处理工具,可以用来自动添加浏览器前缀、代码合并、代码压缩等,提升代码的可读性,并支持使用最新的CSS语法。以下是一份简化的PostCSS安装使用指南:一、安装PostCSS在你的项目目录中,通过npm(NodePackageManager)来安装PostCSS。打开命令行窗口,输入以下命令:bash复制代码npminstallpostcss--save-dev这将把
谷歌浏览器驱动Chromedriver(114-120版本)文件以及驱动下载教程
pigerr杨
Python python chrome drivers
ChromeDriver官方网站GitHub||GoogleChromeLabs/chrome-for-testingChromeDriver113-125_JSONChromeforTestingavailability123-125zip白月黑羽Python基础|进阶|Qt图形界面|Django|自动化测试|性能测试|JS语言|JS前端|原理与安装
虚拟 DOM 的优缺点有哪些
咕噜签名分发
前端 javascript 开发语言
虚拟DOM(VirtualDOM)技术作为现代前端开发中的重要组成部分,已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势,同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点,深入探讨其在实际应用中的影响。提升性能虚拟DOM的最大优势之一是提升页面性能。通过比较前后两次虚拟DOM树的差异,最小化实际DOM操作,从而减少页面重渲染时的性能消耗。这种优
3、JavaWeb-Ajax/Axios-前端工程化-Element
所谓远行Misnearch
# JavaWeb 前端 ajax elementui java 前端框架
P34Ajax介绍Ajax:AsynchroousJavaScriptAndXML,异步的JS和XMLJS网页动作,XML一种标记语言,存储数据,作用:数据交换:通过Ajax给服务器发送请求,并获取服务器响应的数据异步交互:在不重新加载整个页面的情况下,与服务器交换数据并实现更新部分网页的技术,例如:搜索联想、用户名是否可用的校验等等。同步与异步:同步:服务器在处理中客户端要处于等待状态,输入域名
python转码
Desamond
python 开发语言
转码在许多场景中都有应用,以下是一些常见的场景:网页开发:当用户在网页上输入文本时,可能需要将特殊字符(如空格、引号、特殊符号等)进行转码,以防止这些字符对URL或HTML代码产生干扰。文件名处理:在处理文件名时,可能需要将特殊字符进行转码,以避免文件名被错误地解析或显示。数据传输:在数据传输过程中,为了确保数据的完整性和正确性,可能需要将数据中的特殊字符进行转码。数据存储:在数据库或数据存储中,
java实体中返回前端的double类型四舍五入(格式化)
婲落ヽ紅顏誶
java
根据业务,需要通过后端给前端返回部分double类型的数值,一般需要保留两位小数,使用jackson转换对象packagecom.ruoyi.common.core.config;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.f
Django forms组件
在飞行-米龙
Django django python 后端
【一】引入【1】实现登陆验证功能(1)需求分析登陆验证需要前后端交互,采用form表单提交数据对数据进行校验用户名必须以英文大写字母开头密码必须大于三位数反馈给用户错误的信息除了反馈错误的信息还有保留原始输入内容(2)后端代码使用user_info_dict字典每次刷新存储存储前端发送的信息存储后端进行验证的信息defhome(request):#每次后刷新这个信息字典user_info_dict
UNDERSTANDING HTML WITH LARGE LANGUAGE MODELS
liferecords
LLM 语言模型 人工智能 自然语言处理
UNDERSTANDINGHTMLWITHLARGELANGUAGEMODELS相关链接:arXiv关键字:大型语言模型、HTML理解、Web自动化、自然语言处理、机器学习摘要大型语言模型(LLMs)在各种自然语言任务上表现出色。然而,它们在HTML理解方面的能力——即解析网页的原始HTML,对于自动化基于Web的任务、爬取和浏览器辅助检索等应用——尚未被充分探索。我们为HTML理解模型(经过微调
Web前端Html的表单
任家伟
前端 html
表单的关键字:form标签表示一个表单区域action=“后端地址”method=“提交数据方式:get/post”input单行输入框type=“text”文本name=“定义名称名字自定义”向后端提交的键readonly=“readonly”只读,不可修改,但是可以提交disabled=“disabled”禁用组件不可修改,不能提交type=“password”密码框type=“radio”单
Thinkphp - 详细实现网站系统登录功能,附带 Mysql 数据库设置、Web 前端展示界面、信息校验等(详细代码,即设计过程)
王佳斌
+ Thinkphp mysql 前端 数据库
前言登录功能,是我们几乎开发每个系统都必须的模块。登录功能设计思路,主要包括几个方面。用户输入网址展示登录页面用户输入用户名,密码等点击登录进行信息校验校验通过之后,记录用户登录信息,跳转指定页面用户校验失败,提示失败信息页面目录具体功能实现为了快速搭建可用、美观的页面,我们采用一个比较成熟的前端框架Bootstrap。下面我们到Bootstrap的官网Bootsrap官网下载bootstrap。
程序员开发技术整理
laizhixue
学习 前端框架
前端技术:vue-前端框架element-前端框架bootstrap-前端框架echarts-图标组件C#后端技术:webservice:soap架构:简单的通信协议,用于服务通信ORM框架:对象关系映射,如EF:对象实体模型,是ado.net中的应用技术soap服务通讯:xml通讯ado.net:OAuth2:登录授权认证:Token认证:JWT:jsonwebtokenJava后端技术:便捷工
【前端学习——js篇】7.函数缓存
笔下无竹墨下有鱼
前端学习 前端 学习 javascript
具体见:https://github.com/febobo/web-interview7.函数缓存函数缓存,就是将函数运算过的结果进行缓存本质上就是用空间(缓存存储)换时间(计算过程)常用于缓存数据计算结果和缓存对象。其实现主要通过闭包、柯里化和高阶函数。下面主要介绍下柯里化:①柯里化柯里化(currying)是一种函数式编程的概念,指的是将一个带有多个参数的函数转换成一系列只接受一个参数的函数的
html版本号 webpack_html-webpack-plugin详解
weixin_39994949
html版本号 webpack
引言最近在react项目中初次用到了html-webapck-plugin插件,用到该插件的两个主要作用:为html文件中引入的外部资源如script、link动态添加每次compile后的hash,防止引用缓存的外部文件问题可以生成创建html入口文件,比如单页面可以生成一个html文件入口,配置N个html-webpack-plugin可以生成N个页面入口有了这种插件,那么在项目中遇到类似上面
HTML语言剖析
混沌破晓
HTML语言剖析Html简介-目录全写:HyperTextMark-upLanguage译名:超文本标识语言简释:一种为普通文件中某些字句加上标示的语言,其目的在于运用标签(tag)使文件达到预期的显示效果。由文字(字母,数字、标点符号)及标签组合而成。任何文字编辑器都可以,这里推荐用:Dreamweaver。1.Html特点:►描述性语言,结构语言,用于决定网页内容以什么样的形式显示;►通过标签
Websocket服务监听收发消息
beiback
Java 服务器问题 websocket 网络协议 网络
目录1.pom依赖坐标2.项目配置端口和项目包名2.创建处理器3.注册处理器4.前端页面1.pom依赖坐标org.springframework.bootspring-boot-starter-websocket2.项目配置端口和项目包名application.propertiesserver.port=8088//路径规范:为应用的所有servlet提供一个统一的前缀,使URL结构更加清晰和一致
Netty服务器结合WebSocke协议监听和接收数据
beiback
服务器问题 Java 服务器 运维 netty
目录1.pom依赖2.配置属性3.创建netty服务器4.建立监听和响应5.创建启动器6.前端static下页面7.前端js8.注意异常问题9.创建netty服务器--使用守护线程1.pom依赖io.nettynetty-all4.1.86.Final2.配置属性application.properties#启动端口server.port=8088server.servlet.context-pa
基于SSM+Vue企业销售培训系统 企业人才培训系统 企业课程培训管理系统 企业文化培训班系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SSM(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆.png前端页面功能:首页、培训班、在线学习、企业文化、交流论坛、试卷列表、系统公告、留言反馈、个
CDH 启停使用HiveServer2
金刚_30bf
翻译:https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_hiveserver2_start_stop.html版本:5.14.2HiveServer2是HiveServer的改进版本,支持Kerberos身份验证和多客户端并发访问。您可以使用Beeline客户端访问HiveServer2。警告:如果以远程模
javascript实现SM2加密解密
人生在勤,不索何获
javascript 前端 jquery
前提JavaWeb环境前端代码window.sm2=function(t){functioni(e){if(r[e])returnr[e].exports;varn=r[e]={i:e,l:!1,exports:{}};returnt[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}varr={};returni.m=t,i.c=r,i.d=fu
HTML背景带视频的个人炫酷引导页源码
erthre
源码 php
正文:一款简洁大气得个人团队引导HTML单页,非常不错,LOGO支持自行更改替换,可以拿来做为团队官网也可以个人,只是单页没有后台。程序:wwhtxs.lanzouq.com/if6oE0i26ohi图片:
vue生命周期
涡看你就不是好人呐
vue.js javascript 前端
1.computed是在HTMLDOM加载后马上执行的,如赋值;2.methods则必须要有一定的触发条件才能执行,如点击事件;3.watch呢?它用于观察Vue实例上的数据变动。对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。所以他们的执行顺序为:默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再wa
前端埋点解决方案
zhu_zhu_xia
前端
一、前言:基于神策数据的前端埋点解决方案JavaScript快速使用·神策分析使用手册[预览版]二、sdkgitlab下载地址https://github.com/sensorsdata/sa-sdk-javascript/releases或者npm安装npmisa-sdk-javascript三、入门3.1接入sdk以及配置(version1.17.2),入口文件接入sdk以及添加配置(func
C#使用ASP.NET Core Razor Pages构建网站(二)
林祖师
C# c# asp.net 开发语言
上一篇文章讲了HTTP协议的基本概念、客户端Web开发技术以及ASP.NETCore框架的关键特点和创建项目方法链接:C#使用ASP.NETCoreRazorPages构建网站(一)接下来继续了解ASP.NETCoreRazorPages构建网站的后续内容了解RazorPagesRazorPages允许开发人员轻松地将HTML标记和C#代码混合在一起,这是使用.cshtml扩展名的原因。默认情况下
如何提出令人爱回答的好问题?
兮若耶
我们经常会遇到这样的问题,如我适合做什么?这个名词怎么解释?大部分人面对这样的问题时,要么答非所问,要么无从下手。现在的很多事物都是速成的,只是好的问题并没有那么容易被提出来。而提不好的问题,可能会拿不到想要的信息等等。所以提出一个好问题很重要。01提问的功能我们参加各种聚会、会议时,能听到很多的比喻和新观点,而这些是在书上和网上找不到的。这些新的有用的东西,都在前端被实践着,暂时来不及把知识系统
谈谈对前端性能监控的理解和实践
Layla_c
web jave python 前端
一、谈谈对前端性能监控的理解和实践前端性能监控是确保网页或应用高效、稳定运行的关键环节,它涉及对前端页面加载速度、资源消耗、错误率等指标的实时监控和预警。通过前端性能监控,开发者和运维团队能够及时发现并解决性能瓶颈,从而提升用户体验和系统稳定性。理解前端性能监控,首先要明确其重要性。在移动互联网时代,用户对网页和应用的响应速度有着极高的要求。如果页面加载缓慢或出现卡顿,用户可能会选择离开,这对企业
mineadmin使用docker启动方式
qq_38812523
docker php 容器
找个目录,git下来mineadmin代码,在根目录,创建文件名docker-compose.yml然后复制下面代码version:'3'services:#首先下载前端,https://gitee.com/mineadmin/mineadmin-vue#在后端根目录建立mine-ui目录,把前端文件复制过来。#容器内访问宿主机的地址用:host.docker.internal#宿主机也可以在ho
为什么需要使用版本控制工具(如Git)?它如何帮助管理前端开发项目?
智伴科技
git
版本控制工具(如Git)在前端开发项目中扮演着重要的角色,主要有以下几方面的作用:1.**版本管理**:版本控制工具可以帮助开发团队管理项目的不同版本,记录每次代码变动的历史记录,方便追踪和回溯。开发人员可以通过版本控制工具轻松地查看、对比和恢复以前的版本。2.**协同合作**:多人开发同一个项目时,版本控制工具可以协助团队成员协同工作,避免代码冲突、重复工作和混乱。开发人员可以通过版本控制工具共
vue-pdf 预览pdf (数据流)
reembarkation
vue.js pdf javascript
页面有个要预览pdf的需求,数据是从后台传递过来的数据流:1.安装插件:npminstallvue-pdf2.在页面引用:importpdffrom'vue-pdf'...components:{pdf},3.html中添加:4.通过接口获取数据:downloadFile({id:this.id}).then((res)=>{if((!res&&res.status!=200)||(res.dat
低代码与前端开发架构:重塑软件开发的未来
快乐非自愿
低代码 架构 前端
随着技术的不断进步和数字化转型的深入,软件开发领域正经历着一场革命性的变革。在这场变革中,低代码开发平台和前端开发架构扮演着越来越重要的角色。本文将探讨低代码与前端开发架构之间的关系,并分析它们如何共同推动软件开发的创新与发展。低代码开发平台的崛起低代码开发平台(Low-CodeDevelopmentPlatform,LCDP)是一种新型的软件开发方式,它允许开发者通过图形化界面、预构建的模块和模
jquery实现的jsonp掉java后台
知了ing
java jsonp jquery
什么是JSONP?
先说说JSONP是怎么产生的:
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;
2、
Struts2学习笔记
caoyong
struts2
SSH : Spring + Struts2 + Hibernate
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller)
分层原则:单向依赖,接口耦合
1、Struts2 = Struts + Webwork
2、搭建struts2开发环境
a>、到www.apac
SpringMVC学习之后台往前台传值方法
满城风雨近重阳
springMVC
springMVC控制器往前台传值的方法有以下几种:
1.ModelAndView
通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:
ModelAndView mv=new ModelAndView();
mv.setViewName="success
WebService存在的必要性?
一炮送你回车库
webservice
做Java的经常在选择Webservice框架上徘徊很久,Axis Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。
但是为什么要使用xml呢?不能使json或者其他通用数据
js年份下拉框
3213213333332132
java web ee
<div id="divValue">test...</div>测试
//年份
<select id="year"></select>
<script type="text/javascript">
window.onload =
简单链式调用的实现技术
归来朝歌
方法调用 链式反应 编程思想
在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用
这样的调用你可能在Ajax中,在页面中添加标签:
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result");
也可能在HQ
JAVA调用.net 发布的webservice 接口
darkranger
webservice
/**
* @Title: callInvoke
* @Description: TODO(调用接口公共方法)
* @param @param url 地址
* @param @param method 方法
* @param @param pama 参数
* @param @return
* @param @throws BusinessException
Javascript模糊查找 | 第一章 循环不能不重视。
aijuans
Way
最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下:
function search(){
var arr=new Array("my
狼和羊,该怎么抉择
atongyeye
工作
狼和羊,该怎么抉择
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说
读取android系统的联系人拨号
百合不是茶
android sqlite数据库 内容提供者 系统服务的使用
联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢
关键代码:
1, 使用javabean操作存储读取到的数据
package com.example.bean;
/**
*
* @author Admini
ORACLE自定义异常
bijian1013
数据库 自定义异常
实例:
CREATE OR REPLACE PROCEDURE test_Exception
(
ParameterA IN varchar2,
ParameterB IN varchar2,
ErrorCode OUT varchar2 --返回值,错误编码
)
AS
/*以下是一些变量的定义*/
V1 NUMBER;
V2 nvarc
查看端号使用情况
征客丶
windows
一、查看端口
在windows命令行窗口下执行:
>netstat -aon|findstr "8080"
显示结果:
TCP 127.0.0.1:80 0.0.0.0:0 &
【Spark二十】运行Spark Streaming的NetworkWordCount实例
bit1129
wordcount
Spark Streaming简介
NetworkWordCount代码
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
Struts2 与 SpringMVC的比较
BlueSkator
struts2 spring mvc
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring
Hibernate在更新时,是可以不用session的update方法的(转帖)
BreakingBad
Hibernate update
地址:http://blog.csdn.net/plpblue/article/details/9304459
public void synDevNameWithItil()
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran
读《研磨设计模式》-代码笔记-观察者模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
/**
* “观
重置MySQL密码
chenhbc
mysql 重置密码 忘记密码
如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似):
1、关闭MySQL服务
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL
mysqld --skip-grant-tables
3、新开一个CMD窗口,进入MySQL
mysql -uroot
 
再谈系统论,控制论和信息论
comsci
设计模式 生物 能源 企业应用 领域模型
再谈系统论,控制论和信息论
偶然看
oracle moving window size与 AWR retention period关系
daizj
oracle
转自: http://tomszrp.itpub.net/post/11835/494147
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程.
SQL> select * from v$version;
BANNER
-------------------
Python版B树
dieslrae
python
话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树...
首先是数据实体对象,很简单,只存放key,value
class Entity(object):
'''数据实体'''
def __init__(self,key,value)
C语言冒泡排序
dcj3sjt126com
算法
代码示例:
# include <stdio.h>
//冒泡排序
void sort(int * a, int len)
{
int i, j, t;
for (i=0; i<len-1; i++)
{
for (j=0; j<len-1-i; j++)
{
if (a[j] > a[j+1]) // >表示升序
自定义导航栏样式
dcj3sjt126com
自定义
-(void)setupAppAppearance
{
[[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
[UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH
11.性能优化-优化-JVM参数总结
frank1234
jvm参数 性能优化
1.堆
-Xms --初始堆大小
-Xmx --最大堆大小
-Xmn --新生代大小
-Xss --线程栈大小
-XX:PermSize --永久代初始大小
-XX:MaxPermSize --永久代最大值
-XX:SurvivorRatio --新生代和suvivor比例,默认为8
-XX:TargetSurvivorRatio --survivor可使用
nginx日志分割 for linux
HarborChung
nginx linux 脚本
nginx日志分割 for linux 默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本 使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限
复制代码代码如下:
chmo
Spring4新特性——泛型限定式依赖注入
jinnianshilongnian
spring spring4 泛型式依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
centOS安装GCC和G++
liuxihope
centos gcc
Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。
按照这个思路,我想安装过程如下:
安装gcc:yum install gcc
安装g++: yum install g++
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该
第13章 Ajax进阶(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
How to determine BusinessObjects service pack and fix pack
blueoxygen
BO
http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/
The table below is helpful. Reference
BOE XI 3.x
12.0.0.
y BOE XI 3.0 12.0.
x.
y BO
Oracle里的自增字段设置
tomcat_oracle
oracle
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no 我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列
create table t
(
id number generated by default as identity (start with 1 increment b
Spring Security(01)——初体验
yang_winnie
spring Security
Spring Security(01)——初体验
博客分类: spring Security
Spring Security入门安全认证
首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置