网页(Html,CSS,Javascript)三件套,阶段学习回顾总结

Html

HTML:Hyper Text Markup Language,超文本标记语言。是用来帮助我们构建网页的。

【超文本】:网页本身是一个文本文件,而超文本指的是这种文件中既可以包含文本信息,又可以包含图片,音频,视频和链接等非文字的信息。

【标记语言】:标记,也叫做标签。也就是说HTML这门语言是由标签组成的。

网页学习的基本代码如下,使用快捷键!+enter生成

<!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>
</head>
<body>
</body>
</html>

html的编写位置

html写在<body></body>标签之间

标签

html的学习主要就是熟悉各种标签的使用,常用的标签有

1.标题标签
<h1>这是一级标题</h1>
    <h2>这是二级标题</h2>
    <h3>这是三级标题</h3>
    <h4>这是四级标题</h4>
    <h5>这是五级标题</h5>
    <h6>这是六级标题</h6>

2.段落标签
<p></p>
段落标签,表示一个自然段,会独占一行。

3.换行标签
</br>
使用时使元素换行

4.水平线标签
<hr></hr>

5.引用图片标签
<img  scr="1.gif" />
属性:
src: 设置一个外部图片的路径
alt: 可以用来设置在图片不能显示时的描述
width: 修改图片的宽度
height:修改图片的高度,这两个改变时都是同时修改,不该比例。只有当两个都同时指定时才不按比例。

6.注释标签
<!--
-->

7.meta标签
7.1使用meta标签可以用来设置网页的关键字
<meta name="keywords" content="HTML5,xxx,xx">

7.2还可以用来指定网页的描述,搜索引擎在检索页面时,会同时检索页面中的关键词和描述。
<meta name="description" content="发布h5,js前端相关的信息">

7.3请求重定向
<meta http-equiv="refresh" content="秒数;url=目标路径" />

8.超链接元素
<a></a>
属性:
href:指向链接跳转的目标地址,可以写一个相对路径也可以写以一个完整的地址
target:设定在哪里打开链接,可选值:_self(默认值,在本页面打开)        _blank(别的页面打开)

另外的用法:
<a href="#xx"></a>
<p id="xx"></p> 那么#会自动跳转到p的位置
<a href="#"></a> 会自动跳转到顶部

9.文本框标签
<input type="text" />

除了以上基本标签外,还有一些特殊的功能标签

1.表格

    <table>

        包含表头<th></th>和单元格<td></td>

    </table>

    2.无序列表

    <ul>

        包含多个元素<li></li>

        <li></li>...

    </ul>

    3.表单域

    <form>

        <input type="">input默认是一个输入框标签  input一行可以存在多个

        input的type可以设置多种属性

        button按钮 可点击;checkbox复选框(多选框);radio单选框;file文件;text文本;password密码输入;

<!-- 重要 : input表单元素 必须放置在表单域中 -->
    <form>
        <!-- 单标签:br hr -->
        <!-- 输入标签 -->
        <!-- input默认是一个输入框标签  input一行可以存在多个 -->
        <!-- <input /> -->

        <!-- input中type属性可以决定表单输入内容的类型 -->
        <!-- type="button" 按钮 可点击-->
        <!-- value="" 按钮的名称 -->
        <input type="button" value="这是一个按钮"/> <br />

        <!-- 复选框(多选框) -->
        <!-- type="checkbox" 例如:记住密码 -->
        <!-- 表单输入内容:键值对 name="" value="" -->
        <!-- <input type="checkbox" />记住密码 -->

        <!-- ArrayList add remove -->
        <!-- menu 集合 = ["红烧肉"] -->
        <input type="checkbox" name="menu" value="宫保鸡丁"/>宫保鸡丁<br />
        <input type="checkbox" name="menu" value="红烧肉"/>红烧肉<br />
        <input type="checkbox" name="menu" value="青椒肉丝"/>青椒肉丝<br />

        <!-- 单选框 -->
        <!-- type="radio" 例如:性别 -->
        <!-- 表单输入内容:键值对 name="" value="" -->
        <!-- sex = "female" -->
        <input type="radio" name="sex" value="male"/>男<br />
        <input type="radio" name="sex" value="female"/>女<br />

        <!-- 文件选择 -->
        <!-- type="file" 例如:文件上传 -->
        <!--  upload = 文件路径(文件) -->
        <input type="file" name="upload"/><br />

        <!-- 文本输入 -->
        <!-- type="text" input的默认type值就是text -->
        <!-- 表单输入内容:键值对 name="" value="" -->
        <!-- value实际上就是输入框输入的内容 -->
        <!-- content = "输入的内容" -->
        <input type="text" name="content" value=""/><br />

        <!-- type="password" 基本与text一样 输入格式为密码 -->
        <input type="password" name="password" value=""/><br />
        <!-- type="number" 输入格式为数字 -->
        <input type="number" name="number" value=""/><br />
    </form>

    </form>

    4.焦点

    <label for=""></label>label 用for属性,指向对应表单元素input中的id属性

<form action="服务器地址" method="post">
        <!-- label 用for属性,指向对应表单元素input中的id属性 -->
        <!-- 当用户点击对应的label,它的for属性指向的id属性所在输入框就能获取焦点 -->
        <label for="user">账号:</label><input type="text" id="user"/><br />
        密码:<input type="password"/><br />
        <input type="submit" value="登录"/>
        <input type="reset" value="重置"/>
    </form>

    5.下拉列表

    <select name="" value=""></select>name属性设置在 select中, value就是option中的字符

CSS

html用来撰写网页的结构主体,如果把人比作一个网页,html就是骨架,为了让“人”变得好看需得加上血肉和衣裳,CSS的工作就是美化网页界面

CSS的编写位置

CSS的语句一般写在<head></head>之间用<style></style>标记包裹起来

CSS的编写内容

选择器

写在<style></style>标记之间的css样式一般使用 .关键词 或者 标签名 作为标识,这就是选择器。使用 .关键词 时,body的内容需要使用样式用class=“关键词”调用对应样式。

常用的基础选择器有:类选择器,id选择器,标签选择器。

选择器也有很多功能

后代选择器

/* 后代选择器 “父级选择器 子级选择器” ,其中的选择器都是基础选择器,彼此间有空格 */
        ul li{
            color: red;
        } 
        /* 其中 基础选择器 可以是 类选择器 id选择器 标签选择器 */
        .a li{
            color: red;
        }

子元素选择器

/* 父级选择器>子级选择器 */
        .a>.b{
            color: red;
        }

        /* 设置子级元素时,不一定要写全所有选择器关系 */
        .nav ul li a{
            color: pink;
        }
        .nav a{
            color: pink;
        }
        /* 设置直接子级 */
        .nav1>a{
            color: greenyellow;
        }

并集选择器

/* .a{
            color: red;
        }
        .b{
            color: red;
        } */

        /* 将上述代码精简 */
        /*  选择器1,选择器2,....{}  所有的选择器可以设置相同的样式 */
        .a,.b{
            color: red;
        }

伪类选择器

/*  链接的伪类选择器· */
        /* 当鼠标悬浮在链接标记上,会出发该效果 */
        .link01:hover{
            font-size: 40px;
            color: cornflowerblue;
        }

样式的设计就是写在这样的选择器里面,可以设置宽高,服务于块元素,在块元素中,可以包含任意元素。

.box{
            /* 块标记 可以设置宽高度 */
            /* width: 200px; 用像素值设置宽度 */
            /* width: 100%; 该元素的宽度所占它的父元素的宽度的百分比 div.width = body.width * 100% */
            /* 快标记 默认独占一行,且在不设置宽度的情况下 宽度为100% (width:100%;) */
            height: 100px;
            /* 设置背景颜色 */
            background-color: orange;
        }

元素模式转换

display,转换元素的显示模式,它有一些常用的属性:block块元素,inline行内元素,contents,inline-block行内块元素等等。其中行内块元素的使用较为频繁。

行内元素因为不是独占一行,所以没有办法设置像是背景颜色,宽高度这种属性,但有时候又会切实需要这样的功能实现来帮我们完成相应的工作。像是有些场景需要使用列表,但是又需要列表有一些好看的样式,inline-block可以帮助我们将行内元素更变为行内块元素

li {
            display: inline-block;
            /* 设置宽高 */
            width: 120px;
            height: 40px;
            /* 水平居中 */
            text-align: center;
            /* 垂直居中 */
            line-height: 40px;
            /* 设置字体颜色 */
            color: #CCCCCC;
            /* 当li被鼠标指向时,设置标签的样式为手指 */
            cursor: pointer;
        }

JavaScript

JavaScript(简称“JS”)是当前最流行、应用最广泛的客户端脚本语言,用来在网页中添加一些动态效果与交互功能,在 Web 开发领域有着举足轻重的地位。

JS的组成

1.ECMAScript

简称ES,是JS的前身,也是JS的标准。

其中要学习JS的核心语法,如数据类型、定义变量、控制语句等。

2.BOM(Browser Object Model)

浏览器对象模型,可以通过js的BOM控制浏览器的行为。

3.DOM(Document Object Model)

文档对象模型,这里的文档指HTML页面。

可以通过js的DOM控制页面中的元素。

JavaScript的书写位置

JavaScript可以写在<body></body>之间在body结束之前,也可以写在<head></head>之间在head结束之前,还可以写在body之后,可写的范围很大。在书写js代码时需要使用<script></script>导入js文件才可以使用。js的代码也需要写在<script></script>里。

JavaScript的书写内容

提到这个名字很难不和Java联系起来,相较于Java这种强类型语言,JavaScript是一种弱类型语言,在使用变量时不等同于Java一样需要声明变量类型,js可以使用关键字var或者let定义变量,甚至有些时候可以不用,一般用的较为频繁的时let关键字,var会有块级作用域问题,用let去替换var,let具备块级作用域。

前文提到html是网页的骨架,css是血肉和服装,js就是网页多样化,让网页“动起来,活起来”的关键。

输出方式

js的输出方式有三种

1.弹出警告框

alert("hello");

2.控制台输出

console.log("hello")

3.页面中输出

document.write("hello");

可以写成如下形式

## 写在某个标签的事件中

事件,如鼠标单击事件onclick,鼠标移入事件onmouseenter等

<button onclick="alert('hello js!')">点击按钮</button>

这样通常用于调用函数

DOM获取元素的方式

<!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>
        .box{
            width: 100px;
            height: 100px;
            background-color: red;
        }
        .a{
            width: 100px;
            height: 100px;
            background-color: orange;
        }
        .a:nth-of-type(3){
            background-color: aqua;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="a"></div>
    <div class="a"></div>

    <div id="b"></div>
</body>
<script>
    // 如何获取body中的标签 根据选择器决定的

    // document.querySelector(选择器的名称)
    // document DOM中的主要对象  document就是整个HTML文档
    // querySelector 根据选择器名称查询
    var box = document.querySelector('.box')

    //插入内容的函数 标签对象.innerHTML(插入的文本内容)
    box.innerHTML = '显示插入内容的区域'

    //innerHTML还可以插入标签的内容
    box.innerHTML = '<h2>显示插入内容的区域</h2>'

    //注意:innerHTML 前面的内容被后面内容覆盖掉
    //      querySelector 只能选择对应选择器的第一个标签
    var box1 = document.querySelector('.a')
    box1.innerHTML = '这是被选中的box1的元素'

    // var box2 = document.querySelector('.a:nth-of-type(3)')
    // box2.innerHTML = '这是选择的另外的元素'

    //document.querySelectorAll()
    //由于all 是查询所有的符合选择器条件的元素,因此最终的结果都是一个数组
    var boxs = document.querySelectorAll('.a')
    console.log(boxs)
    //如果要区分元素,就用[下标]
    boxs[0].innerHTML = '第一号元素'
    boxs[1].innerHTML = '第二号元素' 

    //根据id名称获取标记
    // document.getElementById('b')
    // 根据class名称获取标记,返回结果是一个数组
    // document.getElementsByClassName('a')
    // 根据标签名称获取标记,返回结果是一个数组
    // document.getElementsByTagName('div')



</script>
</html>

关于事件

js目前学习较多的场景就是各种的鼠标键盘事件

<script>
        //onclick onmouseover onmouseout onmousedown onmouseup
        // 事件 event 就像arguments在每一个函数中 ,也存在每一个事件中
        let btn = document.querySelector('.btn')
        //所谓的event 就是因触发条件而形成的一系列的内容
        btn.onclick = function(event){
            //event中有 相关的X和Y的坐标  clientX,clientY offsetX,offsetY
            // type 事件的名称 click
            console.log(event.type)
        }


        let box = document.querySelector('.box')
        // onmousemove 鼠标移动事件
        document.body.onmousemove = function(event){
            //鼠标在body中的位置
            console.log(event.clientX + ':' + event.clientY)
            box.style.left = event.clientX + 'px'
            box.style.top = event.clientY + 'px'
        }
    </script>

按键监听

<body>
    <input class="msg" type="text" />
    发送
    <select class="sel">
        <option>按Enter键发送</option>
        <option>按Ctrl + Enter键发送</option>
    </select><br>
    <div class="con"></div>
</body>
<script>
    let msg = document.querySelector('.msg')
    let sel = document.querySelector('.sel')
    let show = document.querySelector('.con')

    document.body.onkeypress = function(event){
        
        if(sel.value == '按Enter键发送'){
            if(event.keyCode == 13){
                show.innerHTML += msg.value + '<br>'
            }
        }else{
            //组合键的编码有可能会改变
            console.log(event.keyCode + ":" + event.ctrlKey)
            //按Ctrl + Enter键发送
            if(event.keyCode == 10 && event.ctrlKey == true){
                show.innerHTML += msg.value + '<br>'
            }
        }
    }    
</script>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值