最近学到了js,返回整理一下之前html、css的内容,大部分自学内容来自W3school的教程。
一、涉及一些js知识的html内容
1.用js设置按钮进行内容转换:
首先,设置一个id,方便之后引用,同时设置转换前的文本内容;
接着设置一个button按钮元素,用document.getElementById引用id表明要改变的内容对应在id为xiaoniu的地方;
最后设置innerHTML,即改变后的内容。
具体如下:
<p id="xiaoniu">改变前的内容</p>
<button type="button" οnclick='document.getElementById("xiaoniu").innerHTML = "改变后的内容"'>请点击</button>
2.用js改变HTML属性值
首先,定义一个函数叫light,其中自变量为x,输出为pic,当x为0时输出灯亮图,当x不为0时输出灯暗图,同时设置将图片放置在id=image1的位置;
接着,设置函数转变前的图片,并且将id设置为image1,为函数改变图片的位置提供索引;
最后,设置按钮,点击开灯时,函数light的变量值赋为0,输出灯亮图片,反之相反。
具体如下:
<script>
function light(x)
{
var pic;
if (x == 0)
{pic = "D:/前端/图片/灯亮.png"}
else
{pic = "D:/前端/图片/灯暗.png"}
document.getElementById('image1').src = pic;
}
</script>
<img id="image1" src="D:/前端/图片/灯亮.png" width="536" height="411">
<button type="button" οnclick="light(0)">开灯</button>
<button type="button" οnclick="light(1)">关灯</button>
二、head元素可以包含许多元素,具体如下:
1.title(标题,提供页面被添加到收藏夹时显示的标题),<head><title>标题</title></head>
2.base(为页面中的超链接提供默认地址和默认目标,也就是跳转的页面,具体使用尚未见到)
3.link(用来链接样式的,引入外部样式即style的样式超链接)
4.style(定义整个网页的样式)<style type="text/css"> body{background-color:yellow} p{color:blue font:12px} </style>
5.meta(提供html的元数据,即对机器可读的数据),一些搜索引擎是利用meta元素的name和content来找到相应页面的,还有keywords。
如响应式设计
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
表示用UTF-8字符编码(基本涵盖了所有字符、符号),设置界面内容的宽度等于设备宽度(这点非常重要,可以灵活调节界面大小)
6.script元素,如js
三、布局,主要靠style来设置
设置style给每个部分定义其位置颜色字体边距等,然后用div和id赋予布局。有一些东西,无法用div和id来定义布局,比如表格table,那么可以用class进行布局
注:clear后可以填none,left,right,both等,表示可以允许浮动对象出现在元素两侧,不允许出现在左侧、右侧,不允许出现在左右两侧;此外text-align是这个元素中文本的位置,即段落中文本的对齐方式,而float是这一整个元素,即一整个段落漂浮的位置。
<style>
#header
{background-color: yellow;
color: white;
text-align: center;
padding: 6px}
#nav
{background-color: grey;
height: 500px;
width: 300px;
float: left;
padding: 6px}
#section
{background-color: white;
color:black ;
height:500px;
width:500px;
float:left;
padding:6px }
#footer
{background-color: yellow;
color: white;
clear: both;
text-align: center;
padding: 6px}
table.suibian
{width: 100%;
border: 3px solid grey}
table.suibian th
{padding: 10px;
color: orange;
text-align: center}
table.suibian td
{padding: 10px;
color: pink;
text-align: center}
</style>
</head>
<body>
<div id="header">
<h1>喜欢</h1>
</div>
<div id="nav">
死亡诗社<br>
禁闭<br>
苦瓜<br>
</div>
<div id="section">
<h1>死亡诗社</h1>
<p>
把非生命的一切都击溃,以免当我生命终结,发现自己从未活过
</p>
</div>
<div id="footer">
source:lnn
</div>
<table class="suibian">
<tr>
<th>表头1</th>
<th>表头2</th>
</tr>
<tr>
<td>表单元格1</td>
<td>表单元格2</td>
</tr>
<tr>
<td>表单元格3</td>
<td>表单元格4</td>
</tr>
</table>
</body>
四、页面中输入代码
code标签定义计算机代码文本,kbd标签定义键盘文本,samp定义计算机代码示例,pre定义预格式化文本(因为code输出的代码文本会去掉多余的空行和空格,所以需要采用pre保留原格式。另外:在code,kbd,samp标签中的字体那些一律不受style定义的影响,它们已经采取了固定大小和间距
<code>
<pre>
var person={
firstName:"Yan",
lastName:"L",
age:22
}
</pre>
</code>
这样输出才会保留原格式,不会自动去掉换行
五、html5新语义元素:实现了跨应用、跨企业的统一
语义元素:通过语义可以了解其用途的元素
article定义文章,一般用于博客、论坛、新闻
aside定义侧栏,定义页面内容以外的内容
details定义用户可以查看的细节
figcaption定义figure元素的标题
figure规定自包含内容如图表、照片等
header定义页眉,footer定义页脚
main定义主内容
mark定义重要的或强调的文本
nav定义导航,可以加超链接
section定义节
summary定义details元素的可见标题
time定义日期时间
示例:
<html>
<style>
header{
background-color:grey;
color:black;
text-align:center;
font-size:10px
}
nav{
background-color:white;
color:grey;
float:center;
font-size:12px
}
section{
background-color:white;
color:green;
width: 800px;
float:left;
font-size:20px
}
aside{
background-color:white;
color:yellow;
folat:right;
font-size:10px
}
footer{
background-color:grey;
color:black;
clear: both;
text-align:center;
font-size:10px
}
</style>
<body>
<header>
页眉一般放在最上,居中
</header>
<nav>
<p>类别1</p>
<p>类别2</p>
<p>类别3</p>
</nav>
<section>
<h1>类别1</h1>
<p>类别1的节内容</p>
</section>
<aside>这是侧栏</aside>
<footer>
页眉放在最下边,居中
</footer>
</body>
</html>
六、规则
一定一定开头首行用doctype声明文档类型,直接加html表示用的版本为html5。
元素名一般采用小写方式,在开启元素后记得关闭用/。关闭空元素可以是这样的<p />也可以不用斜杠,最好加一下。
推荐使用小写属性名如class以小写表示,属性值推荐加引号即class="menu"。
引入图像时最好用alt,以免当图像无法显示时有东西可以弥补。
精简空格。避免长代码行,避免无理由地添加空行、缩进,不要使用TAB。
title是必须的。
在文档中对语言和字符编码地定义越早越好,如<html lang="en-US">将文档语言定义为美式英语,以及<head><meta charset="utf-8"></head>。
短注释格式为<!-- 短注释>
长注释格式为<!-- 长
注释
-->
七、字符实体和符号实体
在html中,还可以使用html字符实体,因为一些东西比如<符号会被误认为是标签,所以需要通过字符实体将它们准确表达。
此外,html会删除多余空格,如果真的想保留很多空格,则需要写空格的字符实体。
也可以使用符号实体,表达空集、属于、不属于等键盘打不出来的符号。
可以将数字转换成utf-8字符(包括几乎所有字符和符号,其中包括emoji表情),在数字前加&#即可
如
<p>
想要留三个空格   试试
</p>
<p>
输出一个小于号<
</p>
<p>
打一个符号实体“任何”(特殊)∀
</p>
<p>
打一个emoji表情包,一颗心💗
</p>
关于字符编码
ASCII是第一个字符编码,定义了128种字符,包括数字(0-9)、字母(A-Z),以及其它特殊字符;
ISO-8859-1是html4的默认字符,支持256个不同的字符代码;
ANSI是原始的windows字符集,相比于ISO-8859-1具有32个额外字符;
UTF-8涵盖几乎所有字符和符号。