前端基础有三大部分构成:html(结构)、css(样式)、JS(逻辑表现)

(1)HTML定义了网页的内容

(2)CSS规定了网页的布局、内容如何显示

(3)JS处理网页逻辑,编辑网页行为


一、HTML主要分为三种类型的元素:块级元素、行内元素、空元素

A.块级元素——大多为结构性标记,可以理解为容器标签

常用的:div、p、ul/ol、li、form、table、h1-h6、hr等

特点:

  1. 独占一行,从上往下排列
  2. 可控制宽度和高度,以及四个方向的内边距和外边距
  3. 可容纳块级元素、行内元素、文本
  4. 默认情况下宽度与父容器宽度一样,与内容无关

B.行内元素——大多为描述性标记,可以理解为内容标签

常用的:a、span、i、u、sub、sup、label、input、img、select等

特点:

  1. 与其他元素位于同一行,从左往右排列
  2. 不可控制宽度和高度,以及垂直方向的内外边距,只能设置水平方向的内外边距
  3. 可容纳文本和行内元素
  4. 默认情况下宽度与内容相关

C.空元素——没有内容的元素,一般单标签闭合

常用的:img、input、br、hr

// 空元素大多为行内元素比如img、input等,但是也可能是块级元素如hr等

重点:

1.块级元素和行内元素的区别

       a.块级元素独占一行,行内元素从左往右排列

       b.块级元素可以容纳块级元素、文本和行内元素,行内元素只能容纳文本和行内元素

       c.块级元素可以设置宽高和四个方向的内外边距,行内元素只能设置水平方向内外边距

2.行内元素和块级元素之间的转换

(1)设置display样式

         块级元素默认为display:block

         行内元素默认为display:inline

         行内块元素默认为display:inline-block

// 行内块是一种特殊元素,拥有块级元素的样式,但是按照行内元素从左往右排列

(2)设置float样式

        当把行内元素设置完float:left/right后,该行内元素的display属性会被赋予block值,且拥有浮动特性。

(3)设置position样式

       当为行内元素进行定位时,position:absolute 与 position:fixed 都会使得原先的行内元素变为块级元素。

// 我们最常用的就是将块级元素转化为行内块,其中用的最多的方式就是设置display样式。


二、HTML元素的属性

        元素属性是为了提供元素更多有关信息,比如id给元素加上特定的标识,class给元素加上特定的类别等,属性总是以名称/值对的形式出现,比如:id="one"。

        元素通用属性:id、class、style、title、name等

下面总结一下最常用的元素及其属性:

1.div和p标签

       (1)div主要用于结构框架布局,p主要用于文章段落布局。

       (2)p自带有一定上下外边距,也就是两个p之间有一定间距,而div没有。

       (3)p标签不能嵌套块级元素,否则浏览器会自动将p标签一分为二

2.a标签 ——超链接

         我们通过使用 <a> 标签在 HTML 中创建链接,点击可以跳转到新的文档或者当前文档中的某个部分。

       (1)通过使用 href 属性 - 创建指向另一个文档的链接

<a href="http://www.baidu.com" target="_blank">点击跳转到百度</a>

                 href 属性:链接指向的页面的路径,可以是相对路径也可以是绝对路径,还可以是#表示在当前窗口

                 target 属性:定义被链接的文档在何处显示,最常用的_blank表示在新窗口中打开,_self表示在当前窗口中跳转

       (2)通过使用 name 属性 - 创建文档内的书签

                 首先,我们在 HTML 文档中对锚进行命名(创建一个书签):

<a name="tips">基本的注意事项</a>

                  然后,我们在同一个文档中创建指向该锚的链接:

<a href="#tips">跳到注意事项</a>

                  也可以在其他页面中创建指向该锚的链接:

<a href="http://www.w3school.com.cn#tips">跳转到某个网页的注意事项</a>

3.img标签——图片

<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。

<img src="boat.gif" alt="Big Boat">

         src属性指向图片的 URL 地址

         alt 属性用来为图片预备的可替换的文本,当图片加载失败时显示

         title属性用来为图片命名,鼠标移上去时显示

4.ul/ol标签——列表

(1)ul定义无序列表,li定义每个列表项

<ul>
    <li>Coffee</li>
    <li>Milk</li>
</ul>

浏览器显示如下:

  • Coffee
  • Milk

// 想要去掉小圆点就给li标签设置 list-style:none,了解除小圆点外其他样式可以自行百度list-style

(2)ol定义有序列表,li定义每个列表项

<ol>
    <li>Coffee</li>
    <li>Milk</li>
</ol>

浏览器显示如下:

  1. Coffee
  2. Milk

5.table——表格

table元素定义 HTML 表格,th 元素定义表头,tr 元素定义表格行,td 元素定义表格单元。

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
</table>

浏览器显示如下*(忽略样式):

Month

Savings

January

$100

更复杂的 HTML 表格也可能包括 caption、col、colgroup、thead、tfoot 以及 tbody 元素。

表格文本对齐

text-align 属性设置水平对齐方式,比如左对齐left、右对齐right或者居中center

vertical-align 属性设置垂直对齐方式,比如顶部对齐top、底部对齐bottom或居中对齐middle

6.form——表单

form 元素定义 HTML 表单,表单用于收集用户输入。

表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。

A.<input> 元素——输入框

输入类型是由类型属性(type)定义的

name属性规定输入字段的名称,便于分类

value 属性规定输入字段的初始值

readonly 属性规定输入字段为只读(不能修改)

disabled 属性规定输入字段是禁用的,置灰且不可修改的

maxlength 属性规定输入字段允许的最大长度:

autocomplete 属性规定浏览器会基于用户之前的输入值自动填写,可以设置在form元素上,也可以设置在表单元素上

(1).单行输入字段

type="text" name="user" maxlength="10"  readonly>       
          // name属性给输入框命名,见名知意
(2).输入密码
type="password"
(3).单选框
<input type="radio" name="sex" value="male">男         //name属性给单选框分类,男女单选框都归属于sex类
 <input type="radio" name="sex" value="female">女(4)复选框
<input type="checkbox" name="habit" value="read">看书         //name属性给复选框分类,周一周二都归属于habit类
 <input type="checkbox" name="habit" value="sing">唱歌(5)提交按钮
<input type="submit">     当用户单击确认按钮时,表单的内容会被提交
(6)多行文本域
<input type="textarea">   多行输入框,多用于填写备注信息等
B.<select> 元素——下拉列表
<select name="cars">                                       // name属性给下拉列表命名cars,表示当前下拉列表是汽车
option value="volvo" selected>Volvo</option>             // selected 属性来定义预定义选项。
option value="Audi">Audi</option> 
</select>
select元素定义下拉列表,option元素定义待选择的选项
C.<textarea> 元素——多行文本域
<textarea name="message" rows="5" cols="10">
// name属性给多行文本域命名,rows定义行数,cols定义列数
D.<button> 元素——按钮
button元素定义可点击的按钮
<button type="button" οnclick="alert('Hello World!')">Click Me!</button>
// type属性还可以设置submit用于提交表单,效果与type属性为submit的input元素一样

ps:本文只总结比较常用的知识,还有很多扩展的内容需要自行补充~