整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML基础知识

、HTML基本信息

注释:<!-- -->

DOCTYPE:就是告诉浏览器,我们要使用什么规范

head:网页头部标签

  • title:网页标题
  • meta:描述性标签,描述网站的信息,用来做SEO
    • charset = "UTF-8"
    • name = "keyword" content = ""关键词
    • name = "descrisption" content = ""描述

body:代表网页主题

二、网页基本标签

标题标签

  • <h1>一级标签</h1>一直到6级标签

段落标签

  • <p>段落标签</p>

换行标签

  • <br/> /是闭合的意思,单标签,闭不闭合都行

水平线标签

  • <hr/>

字体样式标签

  • <strong>粗体</strong>
  • <em>斜体</em>

注释

  • <!-- -->

特殊字符

  • 空格 ---->一个空格
  • 大于号 >
  • 小于号<
  • 版权符号©

特殊符号就是 & xxx ;

三、图像标签

<img src="path" alt="文字" title="text" width="x" heigth="y" />

  • src 图像地址 必填
  • alt 图像的代替文字(找不到图片的时候显示) 必填
  • title 鼠标悬停提示文字
  • width 图像的宽度
  • height 图像的高度

注意:../ 代表上一级目录

四、链接标签

文本链接

<a href="path" target="目标窗口位置">链接文本或图像</a>

  • href 链接路径,要跳转带那个位置 必填
  • target链接在哪个窗口打开:常用值_self 当前窗口(默认的)、_blank 新窗口

图像链接:就是嵌套图片标签

页面间链接

  • 从一个页面链接到另一个页面

锚链接

  • 第一步需要一个标记 使用name做标记
  • 第二步跳转到标记 使用#标记
  • <a name="top" ></a>
    <a href="#top"></a>
    上面是页面内的跳转

    <a name="down"></a>
    <a href="第一个页面的path#down"></a>
    页面间的跳转

功能性链接

  • 邮件链接:mailto: <a href="mailto:邮箱"></a>点击后会打开邮箱
  • qq链接:在qq推广工具里面的

五、行内元素和块元素

块元素

  • 无论内容多少,该元素独占一行
  • p、h1-h6

行内元素

  • 内容撑开宽度、左右都是行内元素的可以排在一起
  • a、strong、em...

六、列表

什么是列表:就是一种展示方式

有序列表

  • <ol> <li></li> </ol>

无序列表

  • <ul> <li></li> </ul>

自定义列表

<dl>
    <dt></dt> 标题
    <dd></dd> 选项
    <dd></dd>
    <dd></dd>
</dl>

七、表格

为什么使用表格

  • 简单通用
  • 结构稳定

基本结构

  • 单元格
  • 跨行
  • 跨列
<table border="1px" 边框>表格标签
    <tr>
        <td></td>列标签
        <td></td>
        <td></td>
    </tr>行标签 这代表一行
</table>

跨列:使用colspan="夸的列数" <td colspan="4">

跨行:使用rowspan="夸的行数" <td rowspan="4">

八、视频和音频

视频元素

  • video
  • <video src="path" controls autoplay></video>
  • src:资源路径
  • controls控制条
  • autoplay自动播放

音频元素

  • audio
  • <audio src="" controls autoplay></audio>

九、页面结构分析

元素名

描述

header

标题头部区域的内容(用于页面或页面中的一块区域)

footer

标记脚部区域的内容(用于整个页面或页面的一块区域)

section

web页面中的一块独立区域

atricle

独立的文章内容

aside

相关内容或应用(常用于侧边栏)

nav

导航类辅助内容

十、iframe内联框架

<iframe src="path" name="mainFrame"></iframe>

  • src必填
  • width
  • heigth
  • name标记
  • name的使用
    <iframe src="" name="hello" frameborder="0" width="1000px" heigth="800px"></iframe>

    <a href="path" target="hello"></a>
    点击超连接后,会在内联框架里显示这个页面

十一、表单

表单:form

<form method="post|get" action="result.hetml">
    <input />
</form>
  • method 规定如何发送表单数据常用psot、get
  • action 表示向何处发送表单数据,把表单的数据发送给那个地方

get方式提交:我们可以在url中看到我们提交的信息,不安全,但高效

post方式提交:比较安全,可以传输大文件

表单元素格式

属性

说明

type

指定元素的类型。text、password、checkbox、radio、submit、reset、file、hidden、image、button默认为text

name

指定表单元素的名称 必填,用来后台读取

value

元素的初试值。type为radio时必须指定一个值

size

指定元素的初始宽度。当type为text时或者password时,表单元素的大小以字符为单位。对于其他类型,宽度以像素为单位

maxlength

type为txet或password时,输入的最大字符数

cheaked

type为radio或cheackbox时,指定按钮是否被选中

单选框

  • input type="radio"
  • value 单选框的值
  • name :表示组,name一样一次只能选一个,name不一样可以选多个
  • checked默认选中的

多选框

  • input type="checkbox"
  • value = "sleep"
  • name = "hooby"
  • checked默认选中的
  • <input type="checkbox" name="sleep" value="slppe" checked/>shujiao
    <input type="checkbox" name="sleep" value="slppe"/>shujiao
    <input type="checkbox" name="sleep" value="slppe"/>shujiao
    <input type="checkbox" name="sleep" value="slppe"/>shujiao
    <input type="checkbox" name="sleep" value="slppe"/>shujiao
    <input type="checkbox" name="sleep" value="slppe"/>shujiao
    多选框的结果是以数组的形式返回的

按钮

<input type="button" name="btn1" value="点击" />普通按钮
<input type="image" src ="点击跳转的path"/>图片按钮
<input type="submit"/>提交按钮
<input type="reset"/>重置按钮

下拉框

<select name="列表名称">
    <option value="选项的值" select>中国</option>
    <option value="选项的值">中国</option>
    <option value="选项的值">中国</option>
    <option value="选项的值">中国</option>
    <option value="选项的值">中国</option>
</select>
提交的格式就是列表名称和value
  • selected 默认选择

文本域

<textarea name="name" cols="列数" rows="行数">文本内容</textarea>

文件域

<input type="file" name="files"/>
<input type="button" value="提交"/>

邮件验证

<input type="email" name="youjian">

URL

<input type="url" name="url"> 

数字验证

<input type="number" name="num" max="100" min="0" step="10">

滑块

<input type="range" max="100" min="0">

搜索

<input type="search" name="search">

十二、表单的应用

隐藏域 hidden

<input type="text" id="mark" hidden>

只读 readonly

<input type="text" id="mark" readonly>

禁用 disabled

<input type="text" id="mark" disabled>

增强鼠标可用性

<label for="mark">点击</label>
<input type="text" id="mark">

十三、表单初级验证

为什么要进行表单验证:缓解服务器压力、保证数据安全

提示信息

  • placeholder="提示信息" 在输入框上

非空判断

  • required

正则表达式验证

  • pattern
  • <input type="text" name="mail" pattern="正则表达式">

高级验证使用js

制作网页的很多时候为了页面美观都需要图片能够做到上下居中、左右居中。网上现实的方式方法也有很多,这里分享我经常使用的一种方法。

实现方法

// HTML代码
<div class="row">
          <div class="col-xs-3">
                    <img src="/public/empty_200x100.png" class="imgbg" style="background-image:url('/uploads/demo.jpg');">
          </div>
</div>

// CSS 代码
<style type="text/css">
          .imgbg{
                    width:100%; 
                    background-color: #ebf2f9; 
                    background-position: center; 
                    background-size:contain; 
                    background-repeat: no-repeat;
          }
</style>

实现原理

1、先准备一张透明的png图片。

2、对这个图片定义一个 Css样式,添加这几个属性:

background-position: center;背景图片居中

background-size: contain;显示完整背景图片

background-repeat: no-repeat;背景图不重复

3、然后把要显示的图片作为背景图片。

这样图片就不会随着尺寸不同错位显示。展示的时候如果需要显示正方形图片,只需要制作一个1x1比例的png图片,另外可以根据自己的要求制作png图片。

升级处理

在展示图片的时候,可能有些小伙伴不喜欢把图片放到style样式里面,可能会感觉到看起来怪怪的。

style="background-image: url('/uploads/demo.jpg');

我们想要的可能是这样的展示方式

<img src="/public/empty_200x100.png" data-src="/uploads/demo.jpg" class="imgbg">

这样其实也简单,我们可以借助于 jquery 来实现这个功能。代码如下:

<script type="text/javascript">
$(document).ready(function() {
          $("[class='imgbg']").each(function(index, el) {
                    $(this).css('background-image', 'url(' + $(this).data('src') + ')');
          });
});
</script>

PHP 实现

PHP 实现生成图片也分为二种

1、图片上传的时候,按后台设置的尺寸生成。

2、图片预览的时候,按URL中设置的参数生成。

github地址

https://github.com/zjutsxj/autoCropImage

1)想让元素样式有个变化的过程,那么我们需要以某种方式从一个样式过渡到另一种样式。

  • transition
  • transition-property
  • transition-duration
  • transition-timing-function
  • transition-delay

CSS3 过渡是元素从一种样式逐渐过渡到另一种样式。

其语法如下所示:

transition: 指定属性 持续时间 速度曲线 开始时间;

它是一个复合属性,我们也可以如下分开使用这几个属性。

transition-property: 属性值; /*指定属性名*/
transition-duration: 属性值; /*完成过渡这一过程的时间*/
transition-timing-function: 属性值; /*速度曲线*/
transition-delay: 属性值; /*过渡的开始时间*/
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            margin-top:40px;
            margin-left:40px;
            width:50px;
            height:50px;
            background-color:#51adcf;
            transition: transform 1s ease-in-out; /*ease-in-out 慢速开始慢速结束*/
        }
        div:nth-child(2){
            transform: rotate(-60deg);
        }
        div:hover{
            transform: scale(2);
        }
    </style>
</head>
<body>
    <div></div>
    <div></div>
</body>
</html>

hover变两倍大

  • div:hover 中,使用 transform: scale(2) 设置当鼠标放在 div 元素上时,元素会放大 1 倍。
  • div:nth-child(2) 中,使用 div:nth-child(2) 设置第二个元素逆时针旋转 60deg
  • 使用 transtion 属性实现过渡的效果,其中 ease-in-outtransition-timing-function 属性的属性值。

transition-timing-function 属性用来设置过渡效果从开始到结束的时间曲线,它有很多可用属性值,常用属性值如下表:

属性值

说明

ease

规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。

linear

规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。

ease-in

规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。

ease-out

规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。

ease-in-out

规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。

steps(int,start 或者 end)

steps() 有两个参数,第一个为步长,其值必须为整数,第二个值为可选值,它有两个取值,分别是 start 和 end。

step-start

相当于 steps(1, start)。

step-end

相当于 steps(1, end)。

cubic-bezier(n,n,n,n)

规定在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

initial

规定使用默认值。

inherit

规定从父元素继承该属性值。

例子,图片一秒一步,4步变大为原先二倍:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width:50px;
            height:50px;
            margin:50px;
            background-color:cornflowerblue;
            transition: transform 4s steps(4);
        }
        div:hover{
            transform:scale(2);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

练习一下:

  • 在 body 中添加一个宽和高均为 100 个像素的 div 元素,其背景颜色为黄色。
  • 设置过渡样式,当鼠标放在元素上,延迟 1 秒后,元素的宽度会慢慢变成 300 个像素。
  • 过渡整个过程会持续 5 秒。
  • 按以上要求用 HTML 完成以下效果: