前端HTML、css、javascript学习

一、html、css、javascript基本认识

1.HTML

类型:超文本标记语言

用途:可用于网页结构的设计或搭建:

后缀:html.html

超文本简述:‘超文本’就是指的是其可以包含图片、链接、音乐、程序等非文字元素

HTML简述如下:

1、标记语言:标记语言为非编程语言,不具备编程语言的程序逻辑

2、HTML组成部分:由标签、指令、转义字符(实体)

标签:被尖括号包裹有字幕开头的合法字符可以被浏览器解析的标记。(系统标签、自定义标签)

指令:被尖括号包裹有!开头的标记

转义字符:被&与;包裹的特殊字母组合或#开头的十进制数。(空格 ,版权©)

2.CSS

类型:级联样式表

用途:可以让网页页面的风格设计,样式、美观

后缀:CSS.css

CSS简述:

1、css也可叫标记语言同上

2、CSS的组成部分:选择器、样式块、作用域

选择器:有标签、id、类单独或组合出现

作用域:由{}包裹

样式块:满足css连接语法的众多样式:

3.javascript

类型:浏览器脚本语言

用途:可以负责页面特效、调用刘乱起的API(BOM)\操作改变页面页面内容(DOM),从祸端获取数据、渲染页面等:

后缀:javascript.js

javascript简述:

1、实实在在的编程语言有着完善的语法、可以完成复杂的程序逻辑

2、javascript组成部分:由BOM、DOM、ES(ECMAScript)

DOM:文档对象模型

BOM:浏览器对象模型

ES:是一种开放的且广为被桀纣的脚本语言规范

二、HTML常用标签

1、无语义标签

    <div>div>
    <span>span>

2、常用语义标签

    <h1>一级标题h1>
    <p>段落p>
    <pre>原文本pre>
    <br/>换行
    <hr/>分割线

3、文本标签

        <i>斜体i>
    <em>强调型斜体em>
    <b>粗体b>
    <strong>强调型粗体strong>
    <del>删除文本del>
    <s>s>
    <ins>添加文本ins>
    <u>u>
    <sub>下标字sub>
    <sup>上标字sup>
    <ruby>
        拼音<rt>pinyinrt>
    ruby>    

三、标签分类
1、单双标签

单标签:单标签在⾃自身标签标识结束,主要应⽤用场景为功能性标签

双标签:双标签有成对的结束标识,主要应⽤用场景为内容性标签

2、行块标签

行标签: 又名内联标签,内联标签⾃身不具备宽⾼,通常同行显示

 块标签:又名块级标签,块标签拥有⾃身宽⾼,通常独⾃占据⼀行

3、单一或组合标签

单一标签:单独出现,表示具体的功能或展示具体的内容

组合标签:配合使⽤用,才能产⽣生相应的内容与效果

四、模板解析

1、基础模板

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网页标题title>
head>
<body>
    
body>
html>
View Code

2、模板解读
DCOTYPE:指定文档类型,规定html标签语法

html:文档根标签、标注着文档(页面)的开始与结束

head:文档头标签、可以引用脚步文件、指定样式表、书写代码逻辑块、提供元信息

body:文档主体标签,包含文档所有文本与超文本内容

title:文档tag标题标签,设置文档tag的标题内容

3、meta(元标签)

<meta charset="UTF-8">
    <title>css选择器title>
    <meta name="keywords" content="网页搜索的关键字">
    <meta name="description" content="有关网页的描述在80字以内">
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta name="viewport" content="width=decvice-width,initial-scale=1,maxmum-scale=1,minmum-scale=1,user-scale=no">
View Code

4、link连接标签


    <link rel="stylesheet" type="text/css" href="文件名.css">
    
    <link rel="icon" type="image/x-icon" href="图片路径或网址">

5、script标签

<script style="text/javascript">script>

 

五、CSS三种引入方式

 一、三种方式的书写规范

 1、行间式

```html
<div style="width: 100px; height: 100px; background-color: red">div>
```

 2、内联式

```html
<head>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: red;
        }
    style>
head>
```

3、外联式

```css
file: zero.css
div {
    width: 100px;
    height: 100px;
    background-color: red;
}
```

```css
file: zero.html
<head>
    <link rel="stylesheet" type="text/css" href="css/zero.css" />
head>
```

 二、三种方式间的"优先级"

* 与样式表的解析顺序有关

 v_test:掌握三种CSS引入方式方式
css三种引入方式

六、常用样式及长度颜色

1、样式模板

<head>
    <style type="text/css">
        div{
            color: red;
        }
    style>
head>

2、长度
* px:像素(pixel),屏幕上显示的最小单位,用于网页设计,直观方便
* mm:毫米
* cm:厘米
* in:英寸
* pt:点(point),一个标准的长度单位,1pt=1/72in,用于印刷业,非常简单易用;
* em:相当长度,通常1em=16px,应用于流式布局

3、颜色

* rgb():三个值可为[0-255]数值或百分比,以,相隔(r:Red g:Green b:Blue)
* rgba():前三个值可为像素或是百分比,最后一个为[0, 1]数值,以,相隔(r:Red g:Green b:Blue a:Alpha)
* hsl():第一个值为[0,360]数值,后二个值可为百分比,以,相隔(h:Hue s:Saturation l:Lightness)
* hsla():第一个值为[0,360]数值,中间二个值可为百分比,最后一个为[0, 1]数值,以,相隔(h:Hue s:Saturation l:Lightness a:Alpha)
* #AABBCC:六个十六进制位,每两位一整体,分别代表Red、Green、Blue,可以简写#abc

七、三种常用样式

DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <title>三合一练习title>
    <style type="text/css">
    /*字体练习*/
        span{
            color: blue;
            /*字体粗细(lighter细,normal标准,bold粗)*/
            font-weight:bold;
            /*字体风格(oblique斜体,normal标准,initial首字母大写)*/
            font-style: oblique;
            line-height: 10px;
            font-size:10mm;
            /*font:lighter 10mm/10mm "STSong","微软雅黑";*/
        }
        /*文本练习*/
        div{
            width: 100px;
            color: red;
            /*文本水平排列方式*/
            text-align: center;
            /*字词间距*/
            letter-spacing: 1mm;
            word-break: 1mm;
            /*文本下划线underline,中划线line-through,上划线overline*/
            text-decoration:line-through;
            /*显示方式(行内块同一行显示)*/
            display: inline-block;
        }
        div{
            /*文本内容首行缩进*/
            text-indent: 2em;
            /*垂值排列方式(top 上,middle中,(基线baseline,底部bottom))*/
            vertical-align:baseline;
        }
        /*标题水平居中*/
        h1{
            text-align: center;
        }
        /*背景练习*/
         .d{
            width: 300px;
            height: 300px;
            background-color: blue;
            /*插入背景图片*/
            background-image: url('bg_repeat.gif');
            /*平铺方式(repeat平铺,no-repeat不平铺,repeat-x横平铺,repeat-y纵平铺)*/
            background-repeat:no-repeat;
            /*定位第一个为水平的值(left,center,right),第二为垂值的值(top,center,bottom)*/
            /*background-position: right top;*/
            /*插入背景图片是否滚动(scroll,fixed)*/
            background-attachment: scroll;
            /*实现滚动效果*/
            overflow: auto;
        }

    style>
head>
<body>
    <span>
        嘿嘿
    span>
    <h1>ddh1>
    <div> 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个 等等 各个div>
    <div> kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ff kk gg ffdiv>
    <div>55div>
    
    <div class="d">div>
    br*50
body>
html>
三种样式合一

八、CSS选择器
  

8、 一、基础选择器

 1、通配选择器

```css * {     border: solid; } 匹配文档中所有标签:通常指html、body及body中所有显示类的标签 ```

 2、标签选择器

```css div {     background-color: yellow; } 匹配文档中所有与标签名匹配的标签:如div{}会匹配文档中全部div,span{}会匹配文档中所有span ```

 3、类选择器

```css .red {     color: red; } 匹配文档中所有拥有class属性且属性值为red的标签:如 均会被匹配 ```

4、id选择器

```css #div {     text-align: center; } 匹配文档中所有拥有id属性且属性值为div的标签:如

均会被匹配 ```

补充:基础选择器的优先级

- 基础选择器优先级大致与选择器匹配范围成反比,匹配范围越小,优先级越高
- 基础选择器优先级大致与选择器匹配精度成正比,匹配精度越高,优先级越高
- 基础选择器优先级:id选择器 > 类选择器 > 标签选择器 > 通配选择器

8、二 组合选择器 

1、群组选择器

```css div, span, .red, #div {     color: red; } ```

- 一次性控制多个选择器 - 选择器之间以,隔开,每一个选择器位均可以为任意合法选择器或选择器组合

 2、子代(后代)选择器

```css 子代选择器用>连接 body > div {     color: red; } 后代选择器用空格连接 .sup .sub {     color: red; } ```

- 一次性控制一个选择器(逻辑最后的那个选择器),前置位的选择器为修饰性选择器 - 每一个选择器位均可以为任意合法选择器或选择器组合 - 子代选择器必须为一级父子嵌套关系,后代选择器可以为一级及多级父子嵌套关系

 3、相邻(兄弟)选择器

```css 相邻选择器用+连接 .d1 + .d2 {     color: red; } 兄弟选择器用~连接 .d1 ~ .d3 {     color: red; } ```

- 一次性控制一个选择器(逻辑最后的那个选择器),前置位的选择器为修饰性选择器 - 每一个选择器位均可以为任意合法选择器或选择器组合 - 相邻选择器必须为直接相邻关系,兄弟选择器可以为直接相邻或间接相邻关系

补充:组合选择器优先级

- 组合选择器优先级与权值相关,权值为权重和 - 权重对应关系

|   选择器   | 权重  | | :--------: | :---: |

|    通配    |   1   | |   

标签    |  10   | | 

类、属性  |  100  |

|     id     | 1000  |

| !important | 10000 |

- 选择器权值比较,只关心权重和,不更新选择器位置 - 不同级别的选择器间不具备可比性:1个类选择器优先级高于n个标签选择器的任意组合

4、属性选择器

- [attr]:匹配拥有attr属性的标签 - [attr=val]:匹配拥有attr属性,属性值为val的标签 - [attr^=val]:匹配拥有attr属性,属性值以val开头的标签 - [attr$=val]:匹配拥有attr属性,属性值以val结尾的标签 - [attr*=val]:匹配拥有attr属性,属性值包含val的标签

v_hint:属性选择器权重等价于类

演示如下:

DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>组合选择器title>
    <style type="text/css">
        /*组合选择器*/
        /*特性:每个选择器位可以为任意基本选择器或选择器组合*/

        /*群组选择器: ,隔开*/
        /*控制多个*/
        div, .s, section {
            color: red;
        }
        /*子代选择器: >连接*/
        body > div {
            color: orange;
            text-decoration: underline;
        }
        /*div > a {
            text-decoration: none;
        }*/
        /*后代选择器: 空格连接*/
        /*包含子代选择器*/
        body a {
            text-decoration: none;
        }
        /*相邻选择器: +连接*/
        span + section {
            background-color: pink;
        }
        /*兄弟选择器: ~连接*/
        /*包含相邻选择器*/
/*        div ~ section {
            background-color: brown;
        }
        
        /*交集选择器*/
        /*即是选择器1又是选择器2*/
/*        i.s {
            color: yellow;
        }
        
        /*多类名选择器*/
        /*.d1 {
            color: blue;
        }
        .d1.d2 {
            color: tan;
        }
        .d1.d2.d3 {
            color: #780;
        }**//*/
    style>
head>
<body>
    
    <div>divdiv>
    <span class="s">spanspan>
    <section>sectionsection>
    <div>
        <i class="s">iiiii>
        <a href="">a标签a>
    div>
    <div class="d1 d2 d3">呵呵div>

body>
html>
二、组合选择器优先级演示如下:
DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>组合选择器优先级title>
    <style type="text/css">
        /*同目录结构下*/
        /*1.子代与后代优先级相同*/
        /*body > div == body div*/
        /*2.相邻与兄弟优先级相同*/
        /*div + span == div ~ span*/
        /*3.最终样式采用逻辑后的样式值*/

        /*不同目录结构下*/
        /*1.根据选择器权值进行比较*/
        /*2.权值为标签权重之和*/
        /*3.权重: *:1 div:10 class:100 id:1000 !important:10000 */
        /*4.权值比较时,关心的是值大小,不关心位置与具体选择器名*/
        /*5.id永远比class大,class永远比标签大*/
        /*注:控制的是同一目标,才具有可比性*/
        /*div>div>div>div>...>div {} 11 < .div{}*/
        
        /*10*/
        div {
            color: red;
        }
        /*20*/
        div div {
            color: yellow;
        }
        /*大于一切标签*/
        .d2 {
            color: blue;
        }
        /*.d2抵消,剩权重10*/
        div .d2 {
            color: orange;
        }
        /*等价于div .d2,权值相同,位置决定*/
        .d1 div {
            color: pink;
        }
        /*又多10*/
        div .d1 div {
            color: tan;
        }
        /*不具有可比性*/
        div .d1 > div{
            color: green;
        }
        /*高于一切class及标签*/
        #dd1 div {
            color: #000;
        }
    style>
head>
<body>
    
    <div>
        <div class="d1">
            <div id="dd1">
                <div>
                    <div class="d2">12345div>
                div>
            div>
            
        div>
    div>
body>
html>
组合选择器演示
DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>属性选择器title>
    <style>
        .d2 {
            color: red;
        }
        /*属性选择器权重 == class选择器权重*/
        /*有属性class的所有标签*/
        [class] {
            color: orange;
        }

        /*有属性class且值为d2的所有标签(值不影响权重)*/
        [class="d2"] {
            color: pink;
        }
        
        /*是div且class='d2',增加了权重*/
        div[class='d2'] {
            color: blue;
        }
        
        /*属性以什么开头: ^= */
        /*属性以什么结尾: $= */
        /*属性模糊匹配: *= */
        [class ^= 'he'] {
            color: yellow;
        }
        [class $= 'ld'] {
            color: tan;
        }
        [class *= 'ow'] {
            color: cyan;
        }
        [class][dd] {
            color: brown;
        }

    style>
head>
<body>
    
    <div class="d1">00000
        <div class="d2">12345div>
        
        <div class="helloworld" dd do="do something">helloworlddiv>
    div>
body>
html>
属性选择器演示

九、盒模型及其布局
1、盒模型

DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>盒模型title>
    <style type="text/css">
        .box {
            margin: 10px;
            border: solid;
            padding: 10px;
            width: 100px;
            height: 100px;
            /*background-color: orange;*/
            /*覆盖*/
            background: red;
        }
        /*组成:margin + border + padding + content*/
        /*content = width * height*/
        /*1.四个成员均具有自身独立显示区域,不相互影响(视觉上感觉会相互影响)*/
        /*2.margin/padding外边距/内边距控制布局*/
        /*3.border控制边框*/
        /*4.content控制内容*/

        /*padding*/
        /*与content共有背景颜色*/
        
        /*content*/
        /*内容显示区域*/
        /*红色区域 120 * 120 */
        /*content区域 100 * 100 => 内容显示区域*/

        /*值设置*/
        .box {
            /*控制四个方位*/
            /*margin: 20px;
            padding: 30px;*/
            
            /*上下 左右*/
            /*margin: 10px 20px;
            padding: 30px 40px;*/
            
            /*上 左右 下*/
            /*margin: 10px 20px 30px;
            padding: 30px 40px 50px;*/
            
            /*上 右 下 左*/
            margin: 10px 20px 30px 40px;
            padding: 30px 40px 50px 40px;
            /*总结*/
            /*1.规定起始 2.顺时针 3.不足找对面*/
        }

        /*边框: 宽度,颜色,样式*/
        .box {
            border-width: 10px;

            /*transparent透明,会透出背景颜色*/
            /*border-color: transparent;*/
            border-color: #333;

            /*solid solid dotted dotted outset inset double*/
            border-style: double;

            /*整体设置*/
            border: 5px solid orange;
        }


    style>
head>
<body>
    <div class="box">12345div>
body>
html>
盒模型演示

2、盒模型布局

DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>盒模型布局title>
    <style>
        /*做页面必备reset操作*/
        html, body {
            margin: 0
        }
        .box, .wrap {
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .wrap {
            background: orange;
        }
        /*影响自身布局*/
        /*.box {
            margin-top: 30px;
            margin-left: 100px;
        }*/
        /*影响兄弟布局*/
        /*margin-bottom影响上下兄弟,尽量别对margin-right进行设置*/
        /*margin-right影响左右兄弟,尽量别对margin-bottom进行设置*/
        .box {
            /*margin-bottom: 30px;*/
            margin-right: 100px;
        }

        /*display:显示方式*/
        /*块:block*/
        /*内联:inline*/
        /*内联块:inline-block*/
        .box, .wrap {
            display: inline-block;
            /*vertical-align: top;*/
        }

        
        /*兄弟坑*/
        /*盒模型布局坑只出现在和margin-top相关的地方*/
        .s1, .s2 {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
        /*重叠取大值*/
        .s1 {
            margin-bottom: 30px;
        }
        .s2 {
            margin-top: 50px;
        }
        
        /*父子坑*/
        .sup {
            width: 200px;
            height: 200px;
            background-color: cyan;
        }
        .sub {
            width: 100px;
            height: 100px;
            background-color: orange;
        }
        /*父子top重叠,取大值*/
        .sup {
            margin-top: 50px;
        }
        .sub {
            margin-left: 50px;
        }
        /*解决盒模型经典布局坑*/
        /*1.将父级固定*/
        .sup {
            /*border-top: 1px solid black;*/
            /*border-top: 1px solid transparent;*/
            /*保证显示区域 200*200 */
            /*height: 199px;*/
        }
        .sub {
            /*margin-top: 50px;*/
        }
        /*2.通过padding*/
        .sup {
            padding-top: 50px;
            height: 150px;
        }

        
    style>
head>
<body>
    <div class="box">div>
    <div class="wrap">div>

    
    <section class="s1">section>
    <section class="s2">section>

    <div class="sup">
        <div class="sub">div>
    div>
body>
html>
盒模型布局

十、边界圆角

DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>边界圆角title>
    <style type="text/css">
        .box {
            width: 200px;
            height: 200px;
            background-color: orange;
        }
        /*单角设置*/
        .box {
            /*一个固定值: 横纵*/
            border-top-left-radius: 100px;
            /*两个固定值:横 纵*/
            border-top-left-radius: 100px 50px;
            /*百分比赋值*/
            border-top-left-radius: 100%;
        }

        /*整体赋值*/
        .box {
            /*不分方位(横纵)*/
            /*左上为第一个角,顺时针,不足找对角*/
            /*border-radius: 10px 100px 50px;*/

            /*区分横纵*/
            /*1./前控制横向,后控制纵向*/
            /*2.横向又可以分为1,2,3,4个值,纵向毅然*/
            border-radius: 10px 100px 50px / 50px;
            /*左上横10 右上横100 右下横50 左下横100 / 纵向全为50*/
            /*所有最多可以赋值8个值*/
        }
    style>
head>
<body>
    <div class="box">div>
body>
html>
边界圆角演示

十一、伪类选择器

DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>伪类选择器title>
    <style type="text/css">
        a {
            color: #333;
            text-decoration: none;
        }
        /*:link为一个整体,代表超链接的初始状态*/
        a:link {
            color: orange;
        }
        /*:hover鼠标悬浮*/
        a:hover {
            color: green;
            /*鼠标样式*/
            cursor: pointer;
        }
        /*:active活动状态中(被鼠标点击中)*/
        a:active {
            color: red;
        }
        /*:visited访问过的状态*/
        a:visited {
            color: cyan;
        }
        /*普通标签运用: :hover :active*/
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .box:hover {
            background-color: orange;
            cursor: pointer;
        }
        .box:active {
            width: 400px;
            border-radius: 50%;
        }


        /*内容伪类*/
        .txt:before {
            content: "我是前缀~~~"
        }
        .txt:after {
            content: ">>>我是后缀"
        }
        
        /*伪类可以单独出现*/
        /*:after {
            content: "呵呵"
        }*/


        /*位置伪类*/
        /*1.位置从1开始*/
        /*2.*/
        /*先匹配位置,再匹配类型: 找到所有结构下的第2个标签,如果刚好是div,那么匹配成功*/
        /*body a-baidu div01*/
        div:nth-child(2) {
            color: green;
        }
        
        /*先确定类型,再匹配位置*/
        /*先将页面中所有div找出,在匹配那些在自己结构层次下的第二个div*/
        div:nth-of-type(2) {
            color: cyan;
        }

        /*2n*/
        /*
            div ooo div
            ooo div ooo
            div ooo div
        */

        /*3n*/
        /*
            div div ooo
            div div ooo
            div div ooo
        */

        /*3n - 1*/
        /*
            div ooo div
            div ooo div
            div ooo div
        */

        /*取反伪类*/
        /*:not([d]) {
            color: red;
        }
        body.body {
            color: orange;
        }*/
        span:not([d]) {
            color: red;
        }
    style>
head>
<body class="body">
    
    <a href="./123.html">访问页面a>
    <a href="https://www.baidu.com">访问过页面a>
    <div class="box">boxdiv>

    
    <div class="txt">原来的文本div>

    
    <div class="wrap">
        <span>span01span>
        <div>div01div>
        <div>div02div>
    div>
    
    
    <span d>12345span>
    <span dd>67890span>
body>
html>
伪类选择器演示

十二、a、img、列表标签

DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>a_img_listtitle>
    <style type="text/css">
        /*reset操作: a标签一些默认属性的清除*/
        a {
            color: #333;
            text-decoration: none;
            outline: 0;
        }
    style>
head>
<body>
    
    
    
    <a href="https://www.baidu.com">前往百度a>
    <a href="./05_边界圆角.html">前往边界圆角页面a>
    
    <a href="./temp/temp.html">前往temp页面a>

    
    
    
    <a href="http://sina.com.cn" title="新浪网" target="_blank">前往新浪a>

    
    
    <a href="mailto:[email protected]">信息给zeroa>
    

    
    
    
    <a href="#tag">前往底部a>
    
    br * 100
    
    
    <div class="bottom">
        <a name="tag">a>
        
        
        ...
    div>

    
    
    
    
    

    
    
    <style type="text/css">
        ol, ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }
    style>

    
    <ol>
        <li>列表项li>
        <li>列表项li>
        <li>列表项li>
    ol>
    
    <ul>
        <li>列表项li>
        <li>列表项li>
        <li>列表项li>
    ul>
body>
html>
View Code

 

转载于:https://www.cnblogs.com/ageliu/p/9692750.html

你可能感兴趣的:(前端HTML、css、javascript学习)