Skip to content

html主要结构

<html>
    <head>
        <title> hello </title>
    </head>
        <img src="hello.jpg">
    <body>
    </body>
</html>
- 这当中,src=""中双引号也可以写成单引号. - 标签中大小写不区分,也就是<HTml>也可以 - title会显示为浏览器标签页标题


前端VSCODE 配置

1.中文包 2. HTML CSS Support 3. JavaScript (ES6) code snip 4. Mithril Emmet 5. Path Intellisense 6. Vue 3 Snippets 7. Auto Close Tag 8. Auto Rename Tag 9. open in browser 10. Live Server 11. Vue- Official 12. File Utils 13. IntelliJ IDEA Keybindings 这两个倒没必要了: 14. MarsCode AI: Coding Assi... 15. TONGYI Lingma

快捷键:按! 回车,自动生成框架 open with liveserver:这样相当于在本地端口上架设了一个服务器.好处是一旦我们在vscode中保存了,那么网页端就会同步更新.

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 指定字符集 -->
    <meta charset="UTF-8">
    <!-- 设置网页在移动设备上的缩放比例 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>我们在vscode当中,只要输入h1,然后补全,就会自动生成成对的标签</h1>
    <img src="" alt="img标签是类似的">
</body>
</html>


开发常识

页面原型

cfcba80188b25bc744f79ee9ffe790b1_MD5 往往是一个html


常见标签样式

7413cc65a4014d36b6551f4686143002_MD5 - 编辑器中换行,页面是不会换行的.

引入css 4ecbca8c668687115bc24e0c96884749_MD5 span是一个没有语义的标签.

颜色的描述

bda63468d3bf46abea274851823aa929_MD5 0完全透明,1完全不透明 32e79e843f87e387ebe4ec48275e3b1a_MD5 具体的颜色可以用截图工具中自带的取色器. 白色是fff

css选择器

1e87065577a1b0b46b3dc9cada0a0e07_MD5 471e0690e324f50b3dda8ab6a19decff_MD5 41fa42a521ff3edb9b51a6409bd39b50_MD5

优先级:id>class>元素 也就是说优先级高的会覆盖低的样式. 还有三种不常用的,因此不说了. 如:后代选择器: ca859077ed7484d0b34e681347c97f06_MD5 这样,就会选择.navbar后代中所有的a标签

去除下划线

a8f1c130145d93c49c69afa9e7428ac2_MD5

视频

播放控件就是开始按钮,进度条等等.这个我们一般都加. 宽度高度如果不设,那么就显得很大 父元素body:就是整个网页屏幕了 br:有一个就换一次行 c4c03b8838a3ec97247ac815fe6f1a0f_MD5 音频:04fb844fe7b0c35450d156b34f4b2a6a_MD5

段落

<p>/</p>

包裹,会形成一个段落,会自动换行. 43aecb9effd7fa9630c82edc7582ed5f_MD5

gif

2f83aa1d969895e1b197238d9167eee6_MD5 属性 e4ae1128bb37c2df2e3fef6501501125_MD5

加粗

<b>/</br>包裹,就会加粗 <strong>/</strong>也是一样.但是具有强调意义,爬虫喜欢这个

行高

ed214f1db79bf56b637987dbffeb174b_MD5

首行缩进

空格 &nbsp; ff2c6024e86b420f349fbae9e7dbe2c4_MD5 也可以css样式 cc1362c500382e154cf62f643ec3f233_MD5

&lt &gt大于小于

布局

<div></div>标签用来包裹. 37a6e18e276ed5941fee6db8044e5235_MD5 5445282ee62ddf718c79d0d4cd658f17_MD5

这样就能宽度占页面70%(因为父元素是body),并且居中显示了 auto就是居中的意思.

盒子模型

d3a052004ce783332d8a17348d0d473c_MD5 外边距指的是和其他元素的距离

61b53bc2a1867a0d08427416a61bf21e_MD5 高度宽度是content的宽度和高度 65fac45188d45f5aeb07f657dc7360a7_MD5 四个值是上右下左 fb7566975ab5b69524ef0665eda96165_MD5 这是两个值.当然也能设成一个值,表示上右下左都是这样的宽度

  • 开发工具 f12打开开发工具后,找到"检查",就能拾取到页面上的各个盒子

如果设置了padding,那么就会导致盒子撑大了.如果不设置,那么就没有. 如果我不想我的盒子随着padding的大小改变而改变,那么就可以设置weith和height的设定规则: ba4d19fd1a958c7c4984fa2256657e20_MD5 如果我们设成border-box,并且固定了width和height,那么就会导致如果padding的宽度变大,内容部分就会变小 事实上,我们观察下面的几个图,可以发现:如果设成border-box,那么高度和宽度属性就用来设置整个盒子模型了.

  • 开发工具 点击盒子之后,点击"计算样式",就能看到盒子模型了 92e54ade43910b4cf5d94c648feacc04_MD5

border

三个值分别是宽度 实线 颜色 6fae7502e9cd9b9e9486a415913bff26_MD5 我们看一下盒子模型: 484a22edab6cae5d436d04481bf3d111_MD5

margin

修改margin,在刚才的示例中,就会改变和浏览器页面上边和左边的宽度间距 8a7a5dff22e1b8b61f9d52ee1a5a08c7_MD5 a368bfc0d586e074077c91fd70e25ed4_MD5 如果设成auto.在某些情况,这就等同于居中 97f1d2a8aebdc207fc23766210b957df_MD5 这样就意味着,上下间距30,左右居中

因此刚才的代码可以改成: 45777b737645b51a01218ecfa8d16c60_MD5 另外,这样可以说是: c6c66e2d2fbb57891c980ab5ca59f83d_MD5

body元素是有默认的外边距的,一般是8个像素,因此我们写的网页可能与浏览器边缘有空白

弹性布局

1d5853a244985cb4bb5ba2020bc61997_MD5 75e6aabc261c5df8ce50dbef0d61faa9_MD5 主轴:也就是子元素们应该是横向分布还是纵向分布 flex-start:子元素从左往右紧挨着排练 center:所有子元素紧挨着,居中显示 所谓space-around平分剩余空间: 33d51e7ec3d8b02d84c3648b44ec29d6_MD5 space-between: a34120aa71078006b35ff37426435c65_MD5

演示:如果不用flex布局,那么就如下所示,每个div占一行. bdd01fa17db8081f8e2bda5d9339329a_MD5 a87098ef1e5e8cb01a0207f9c6158431_MD5

表单

54e7f8da43348e79dd63b93bcba86f48_MD5 提交方式默认是get 693a13fd95f2852c3a49723eb3b68660_MD5 05c52851db075d187f4971c2cb6217c0_MD5 当然,这没法提交,得加个按钮 5d36f950f8b894c731a86c5a060bbe4f_MD5 c7fde99e9b814c928841740a8a7955d2_MD5 这样填完,点提交之后,会显示: 8c1eda39d9fdc1c61b355a81b56eab55_MD5 也即:表单数据不见了 因此,需要设定name 6feecd465f0b6e07e4930f487e14fc27_MD5 aeaf8932fd2a0835c13024073bf3477c_MD5

如果是post方式,点击后: 331b00c3b073bc0f2b47a8dee0c06290_MD5 点击查看源代码: d22288318787cc647a3d6e561e24c2a3_MD5 可以发现,post里也是这样的"&" 连接起来的 特点: 805127a70961f1cb01b4a73b79c4337e_MD5

表单项

33a5c35ee6852fe7791f6e643a8d8fa7_MD5 隐藏域:填写的时候看不到,但是提交的时候会提交给服务器. 一般buttun这样的按钮得配合js使用

a67783a8151441f8f9264cb6b3e5cc9a_MD5

其中一些细节:

单选

8687f24765acbbb0c586e2e58c8bb3b8_MD5 199df23661fe818a3dd37bb3a22f89e7_MD5 其中name是表单项的名字.value的值代表提交给后台时实际上提交的值 如果两个选项是同一组的,那么name必须设置成一样.如果不一样,那么会导致能多选.(但我们使用多选一般用复选框)

复选框

25cc0ebdcbb03c1d20095843618b980a_MD5 c6547328689235c2e58241b6d39f40d7_MD5

下拉列表

cddd692ed46976cbfe70202698748d0b_MD5 option代表选项 7945168c862a64f33a9623b06bb0ad4c_MD5

文本域

aa36fff172897d17ee678aab48743791_MD5 49450b9f45c34ad2007d53f7efea6889_MD5 cols:初试大小能输入多少字符 rows:初试能输入多少行 实际上,这个文本域是可以拖动大小的.

按钮

9a3ed752f1a1c7f4e8fb08a180852dcb_MD5 button一般只配合js用 reset会清空表单,submit会提交

另外,隐藏数据:24b261309200dec164f20ffd2538f6de_MD5

我们把所有东西提交,源码: c25e8060c0bec5cf0bbb6da206c0f9a6_MD5 这里面id就是隐藏的数据.

也可以直接button:4fe4a263fc6c0e06528b65a9e86fad10_MD5 效果和Input类似.

label标签

在刚才选择男女的时候,"女"用label标签包裹,这样可以增强用户体验,不论是点击"女"还是点击前面的小按钮,都是可以点中的.

提示信息

placeholder:默认提示信息 8bac496d11cd72cc4447a515b096164e_MD5 d64d3b4a3176be3e4b1674c641e5dcc8_MD5

这里面还有for的联动: dffc2cfdb1f8451ebd55d9b559233760_MD5 也就是说,这个label绑定了name这个表单项.效果和上面的一样:点击姓名就会选中输入框

表格

table标签是用来定义表格的 子标签:thead表头 tbody 正文 tr代表一行 th表示表头单元格 有字体加粗的效果 dc98292c7db1e873a3e9a8c2bf9070a2_MD5 d86c379ec83c90637757d2b3993ddcdc_MD5 td表示普通单元格 8a56b3137fb1dea0baecf189aa9c4559_MD5

页脚/底部区域

cdfe9fcec92279a21a1b851016067a3c_MD5 这个标签其实也是没有实际语义的