美文网首页
4/06day27_css _js

4/06day27_css _js

作者: 蹦蹦跶跶的起床啊 | 来源:发表于2020-04-09 20:37 被阅读0次

day27_css _js

回顾

​```markdown
1. html概述
    超文本标记语言
    作用:搭建基础网页

2. html基础
    书写规范
        <html>
            <head></head>
            <body></body>
        </html>

3. html常用标签
    h1~h6:align="center"
    hr:color="#ff ff ff" width="px %"
    br:换行
    p:段落
    a:超链接,href(相对地址,绝对地址)
            ./ 当前目录
            ../ 上级目录
    img:图像 src(相对地址,绝对地址)
    ul ol:有序和无序列表
            li 列表项
    div和span:二个盒子标签
        div:独自占有一行
        span:内容有多少,就占用多少
    实体字符
        英文半角:&nbsp;
        中文:&emsp;
    表格
        table -- 表格
            tr -- 行
                td -- 单元格
4. html表单(重点)
    作用:1.采集用户数据、2.将数据发送给服务器
    <form action="请求服务器地址" method="post">
        <input name="" value="" type=""/>
            text
            password
            date
            radio
            checkbox
            file
            
            rest
            submit
            button
        <select name="">
            <option></option>
        </select>
        <textarea name="" cols="" rows=""></textarea>
    </form>

5. 案例:黑马旅游网注册页面
​```


今日内容

  • CSS样式

  • JS


CSS概述

  • 概述:

    CSS(Cascading Style Sheet)层叠样式表

    层叠样式: 对同一个标签应用不同的样式,所有样式会叠加在一起展示出效果.

  • 优点:

    1. 把html内容和css样式分离,
    2. 降低了耦合度,提高了样式复用性,而且还可以提供更强大的美化效果.

HTML引入CSS

  • HTML引入CSS三种方式(遵从就近原则)

    • 行内样式: 所有的标签都有一个共有的属性 style.在标签的style属性中写样式

      • 作用域 该标签

      • 语法<h1 style = "css样式"></h1>

    • 内部(内嵌)样式: 在页面中的style标签中写样式 style标签位置理论上任意,推荐放置在head中的底部 (因为自上而下的运行所以推荐放在head中)

      • 作用域 本页面

      • 语法<style type="text/css">css样式</style>

        type="text/css"告诉浏览器把解析器切换CSS解析器 type="text/css"可以省略

    • 外部样式: 使用link标签引入外部样式

      • 作用域 所有引入的页面

      • 语法: <link rel="stylesheet" hre"外部css文件地址"/>

        rel = "stylesheet" 告知浏览器我引入的文件为css样式.

浏览器的执行范围是自上而下, 如果先是内部样式, 再是外部样式, 那最终会被渲染为外部样式

  • 案例如下

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>CSS引入方式</title>
    <!--    link 的href属性指明样式文件的地址 rel属性指明外部文件是当前页面的stylesheet样式表-
    ->
            <link href="../css/外部样式.css" rel="stylesheet"/>
    
    <!--    告诉浏览器把解析器切换CSS解析器  type="text/css"可以省略-->
        <style type="text/css">
            h2{
                color:green;/*字体颜色 绿色*/
            }
        </style>
    </head>
    <body>
    <!--
    CSS引入方式 有三种
        1.行内 在标签的style属性中写样式 作用域 该标签
        2.内部(内嵌) 在页面中的style标签中写样式 style标签位置理论上任意,推荐放置在head中的底部 
    作用域 本页面
        3.外部 使用link标签引入外部样式 作用域 所有引入的页面
    -->
    
    <h1 style="color:red;">1.行内</h1>
    <h2>2.内部(内嵌)</h2>
    <h3>3.外部 </h3>
    
    </body>
    </html>
    

CSS语法规范

  • CSS语法

    选择器{CSS样式}
    选择器:匹配标签
    CSS样式:标签要显示的外观效果 格式 {样式名:样式值;样式名:样式值;}
    样式名多个单词用短杠-分割
    样式值多个单词用空格 分割

  • CSS注释

    ​ /* CSS注释*/

  • 如下案例

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>24-CSS语法</title>
    </head>
    <body>
    <!--
    CSS语法:
        选择器{CSS样式}
        选择器:匹配标签
        CSS样式:标签要显示的外观效果 格式 {样式名:样式值;样式名:样式值;}
        样式名多个单词用短杠-分割
        样式值多个单词用空格 分割
    CSS注释
        /* CSS注释*/
    
     -->
    <style>
        font{
            color:green;/*字体绿色*/
            font-size:20px;/*字体大小*/
            line-height: 40px;/*行高*/
            font-weight:bold;/*加粗*/
            font-style:italic;/*倾斜*/
            border: 1px solid skyblue;/*边框*/
        }
    </style>
    
    <font>床前明月光</font><br/>
    <font>疑是地上霜</font><br/>
    <font>举头望明月</font><br/>
    <font>低头思故乡</font><br/>
    
    </body>
    </html>
    

CSS基本选择器

  • 选择器的作用: 选定一组特有的标签

  • 选择器分类

    • 标签 根据标签匹配元素 格式 标签{}
    • class(类) 根据class的值匹配元素 class属性是给标签归类添加样式 格式 .class{}
    • ID 根据id值匹配元素 id属性是标签的唯一标志 #id{}
  • 案例如下

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>基本选择器</title>
    </head>
    <body>
    <!--
    CSS基本选择器:
        1.标签 根据标签匹配元素 格式 标签{}
        2.类 根据class的值匹配元素 class属性是给标签归类添加样式 格式 .class{}
        3.ID 根据id值匹配元素 id属性是标签的唯一标志 #id{}
    
    渲染需求:
    1.所有span标签中的文字为楷体
    2.所有女性(class="female")的文字为红色
    3.所有英雄(class="hero")的文字大小为50px
    4.Java(id="main")的字体大小为100px
    
    -->
    <style>
        span{/*所有的span标签*/
            font-family:"楷体";/*楷体*/
        }
        .female{/*所有class值中有female的标签*/
            color:red;/*字体红色*/
        }
        .hero{/*所有class值中有hero的标签*/
            font-size:50px;/*字体大小*/
        }
        #main{/*匹配id=main的一个标签*/
            font-size:100px;/*字体大小*/
        }
    </style>
    
    <span class="female">小红</span>
    <span class="female">小美</span>
    <span class="female">小娜</span>
    <span class="female">小丽</span>
    
    <span class="female hero">小杰</span>
    <span class="male hero">小王</span>
    <span class="male hero">小黄</span>
    <span class="hero">小刚</span>
    
    <span id="main">Java</span>
    <span id="east">JavaScript</span>
    
    </body>
    </html>
    

CSS扩展选择器

  • 并集(所有的选择器都渲染为css样式)

    语法: 选择器1, 选择器2,...{css样式}

  • 后代(只要后代选择器变成css样式)

    语法: 父选择器 后代选择器 {css样式}

  • 父子

    语法:父选择器>子选择器 {css样式}

  • 指定某个属性的标签
    E[attribute=value]{css样式}

  • 如下案例

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>扩展选择器</title>
    </head>
    <body>
    <!--
    扩展选择器
    关系
        E,F 并列
        E F 后代
    属性
        E[attribute=value]
    -->
    <style type="text/css">
    
        span,p,label{/*并列关系*/
            font-family: "楷体";/*字体类型*/
        }
        div span{/*div所有的后代span标签*/
            color:red;/*字体红色*/
        }
    
        input[type="text"]{/* 有type属性值等于text的input标签*/
            background-color: gold;/*背景颜色 金色*/
        }
    
    </style>
    
    <div>
        <span>地址</span>
        <p>
            <span id="gbl">爱好</span>
        </p>
    </div>
    <span id="cld">性别</span>
    <br/>
    <label>姓名</label>
    <input type="text" name="userName" value="Jack"/><br/>
    <label>密码</label>
    <input type="password" name="userPass" value="123456"/><br/>
    
    </body>
    </html>
    

CSS常用样式

字体文本

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>字体文本</title>
    <style type="text/css">
        div p{
            color:green;/*字体绿色*/
            font-size:20px;/*字体大小*/
            line-height: 40px;/*行高*/
            font-weight:bold;/*加粗*/
            font-family:'楷体';/*字体类型楷体*/
        }
        div p span{
            font-style: italic;/*倾斜*/
            text-decoration: underline;/*文本装饰 下划线*/
        }

    </style>
</head>
<body>
<div>
    <p>
        <span>学习必经三种境界:</span><br/>
        第一境界“昨夜西风凋碧树。独上高楼,望尽天涯路。”<br/>
        第二境界“衣带渐宽终不悔,为伊消得人憔悴。”<br/>
        第三境界“众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。”<br/>
    </p>
</div>
</body>
</html>

背景

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>背景属性</title>
    <style type="text/css">
        div{
            border:1px solid lightgray;/*边框 1px 实线 浅灰色*/
            box-sizing:border-box;/*边框作为盒子大小*/
            width:1000px;/*宽度*/
            height:250px;/*高度*/
            margin:0px auto;/*外边距 上下0px 左右自动居中*/
        }
        #d1{
            background-color: #024bd5;/*背景颜色*/
        }
        #d2{
            background-image: url("../img/heimakangyi.jpg");/*背景图片地址*/
            background-repeat: no-repeat;/*背景图片不平铺*/
            background-position: top 0px right 0px;/*背景图片位置 右上角*/
            background-size: auto 250px;/* 设置背景图片宽度和高度。第一个值设置宽度,第
二个值设置的高度。如果只给出一个值,第二个是设置为"atuo(自动)"*/
        }
    </style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>

</body>
</html>

显示

显示属性
display 标签的显示方式 常用取值
inline 显示为内联标签,内联标签设置宽高不起作用,因为它的宽高是由内容撑起来的.
block 显示为块级标签 可设置width 和height
none 隐藏不显示

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>显示属性</title>
    <style>
        span,div{
            border: 1px solid lightgray;
            width: 500px;
            height: 100px;
        }        
    </style>
</head>
<body>
<!--
显示属性
display 标签的显示方式 常用取值
    inline 显示为内联标签,内联标签设置宽高不起作用,因为它的宽高是由内容撑起来的.
    block 显示为块级标签 可设置width 和height
    none 隐藏不显示

-->

<span>内联标签1</span>
<span style="display:inline;">内联标签2</span>
<span style="display:block;">内联标签3</span>
<div>块级标签1</div>
<div style="display:none;">块级标签2</div>
<div style="display:block;">块级标签3</div>

</body>
</html>

浮动属性

打破了常规, 让div也能变小

浮动: float 取值:left right

清除浮动: clear 取值为 both

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>09-浮动属性</title>
    <style>
        .box{
            width: 150px;
            height: 150px;
            border: 1px solid red;
            text-align: center;

        }

        #long{
            float: left;
        }
        #hu{
            float: right;
        }
    </style>
</head>
<body>
<!--
    浮动:float
        取值:left、right
    清除浮动:clear
        取值:both
-->
<div class="box" id="long">左青龙</div>
<div class="box" id="hu">右白虎</div>
<div style="clear: both"></div>
<div class="box">最后砍成米老鼠</div>
</body>
</html>

盒子模型

  • 盒子模型的组成:

    • margin (外)边距 边框之外的距离 默认透明 可以设置 上 右 下 左 的 大小 margin: auto 水平居中

    • border 边框 可以设置边框的 上 右 下 左 的 大小 类型 颜色

    • padding (内)填充 边框和内容之间的距离 默认透明 可以设置 上 右 下 左 的 大小

    • content 内容 是标签中内容放置区域

  • 盒子类型:

    • box-sizing:content-box;(默认方式, 盒子大小是 宽高+内边距+外边距)
    • box-sizing:border-box; (盒子大小是不会因为设置内边距外边距而变化)
  • 设置宽高width和height两种方式

    • box-sizing:content-box; 设置的是content所占的宽度和高度

    • box-sizing:border-box; 设置的是border所占的宽度和高度

  • 案例

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>盒子模型理论</title>
    </head>
    <body>
    <!--
    盒子模型的组成:
    margin (外)边距 边框之外的距离 默认透明 可以设置 上 右 下 左 的 大小
    border 边框 可以设置边框的  上 右 下 左 的 大小 类型 颜色
    padding (内)填充 边框和内容之间的距离 默认透明 可以设置 上 右 下 左 的 大小
    content 内容 是标签中内容放置区域
    
    设置宽高width和height两种方式
    box-sizing:content-box; 设置的是content所占的宽度和高度
    box-sizing:border-box; 设置的是border所占的宽度和高度
    -->
    <style>
        div{
            border:10px solid red;/*边框 10px 实线 红色*/
            margin:40px;/*边距 40px*/
            padding:30px;/*填充 30px*/
            width: 300px;/*宽度*/
            height: 100px;/*高度*/
            box-sizing: content-box;/*默认:content所占的宽度和高度*/
            box-sizing:border-box;/*默认:border所占的宽度和高度*/
        }
    </style>
    
    <div>我是content内容1</div>
    <div>我是content内容2</div>
    <div>我是content内容3</div>
    
    </body>
    </html>
    

JavaScript概述

js的作用

JS用于完成页面与用户的交互功能.

js特点

  1. JS不需要编译,由浏览器直接解释执行.
  2. js是弱类型语言,js变量声明不需要指明类型,不同类型的数据可以赋值给同一变量.

js的组成

ECMA Script js的基础语法

BOM(Brower Object Model) 浏览器对象模型

DOM(Document Object Model) 文档对象模型

JavaScript基础语法

HTML引入JS

  • 方式一 内部脚本

    • 语法: <script type="text/javascript">js代码</script>
  • 方式二 外部脚本

    • 语法:<script src ="外部js文件地址"></script>
  • 注意:

    1. script标签可以在页面任意位置, 推荐放在body中的尾部
    2. script标签没有自闭和, 必须加上闭合标签
    3. 如果script标签使用了src属性, 浏览器将不会解析此标签体的js代码(就是说引入外部脚本, 就不要在这个标签体内写内部脚本了)
  • 两种方式案例代码

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>JS两种引入方式</title>
    
    </head>
    <body>
    <!--
    JS两种引入方式
        JS和CSS一样都需要引入到html页面中,浏览器才会解释执行
        JS有两种引入方式
            1. 内嵌(内部)脚本:在script标签中写js代码,
                script标签推荐放置在body标签的底部,理论上和style标签一样可以放置位置任意.
            2. 外部脚步: 使用script标签的src属性引入外部js文件,使用注意事项:
                (没有内容还不能自闭合):
                script标签使用了src属性以后内部的代码不再被浏览器解释执行(了解).
                script引入外部脚本时不能使用自闭合格式(警告!!!).
    
    -->
    
    <!--告诉浏览器把解析器切换为js解析器  type="text/javascript"可以省略-->
    <script type="text/javascript">
        document.write("<h1>内部脚本</h1>");//向body中追加html内容
    </script>
    
    <script src="../js/外部脚本.js"></script>
    
    </body>
    </html>
    

JS三种输出方式

  • 浏览器弹框输出字符

  • 输出html内容到页面

  • 输出到浏览器控制台

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>JS三种输出方式</title>
    </head>
    <body>
    <!-- 
    JS三种输出方式
        1. 输出到浏览器控制台
        2. 输出html内容到页面
        3. 浏览器弹框输出字符
     -->
    
    <script >
        //1. 输出到浏览器控制台
        console.log("1. 输出到浏览器控制台");//开发者专用
        //2. 输出html内容到页面
        document.write("2. 输出html内容到页面");//向body中追加html内容
        //3. 浏览器弹框输出字符
        alert("3. 浏览器弹框输出字符");//阻塞执行
    </script>
    </body>
    </html>
    

JS变量声明

ECMAScript6之前 用var声明常量

ES6之后 用let声明变量, const声明变量

IDEA开发的话需要设置JS版本

可以变化的量,变量在js中用let修饰

不可以变化的量,常量用const修饰

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>JS变量</title>
</head>
<body>
<!--
JS变量 是用来存放数据    
    es6之后变量声明使用let 常量声明使用const 他们用于替代es6的var声明方式
    (了解) es5以前变量声明使用var
    
    JS是弱类型语言(理解):
        声明变量时不知道变量的类型(undefined),只有在赋值之后js变量才确定类型.
        typeof(a) 或 typeof a 输出变量的类型
        undefined 变量未赋值,未知类型

-->
<script >
    //字符串 Java声明 String str ="张三";
    let str ="张三";
    console.log(str);
    //整数  Java声明 int k = 5;
    let k = 5;
    console.log(k);
    //小数 Java声明 float f = 7.5;
    let f = 7.5;
    console.log(f);
    //常量 Java声明 final Integer PI = 3.14;
    const PI = 3.14;
    console.log(PI);
    //演示弱类型语言
    let a;//声明变量不需要指明类型
    console.log(typeof a);//undefined 未赋值类型,未知类型
    a = "你好";
    console.log(typeof a);//string
    a = 123;
    console.log(typeof a);//number
    a = true;
    console.log(typeof a);//boolean
    a = new Object();
    console.log(typeof a);//object

</script>
</body>
</html>

JS的数据类型

  • 常用数据类型
    1. string 字符串类型(前端 单双引号都是字符串)
    2. number 数字 包括整数和小数类型
    3. boolean 布尔类型 值只有 true和false 两个
    4. object 对象类型 空对象使用 null表示
    有两种格式(了解)
    Object格式 例如 new Object();
    JSON格式 例如 {name:"张三",age:18}
    5. undefined 变量未赋值

  • 引用数据类型
    只要是new出来的 都是引用数据类型
    let obj = new Object();
    let date = new Date();

  • 判断数据类型

    ​ typeof 变量名;

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>JS数据类型</title>
</head>
<body>
<!--
JS数据类型
    常用数据类型
        1. string 字符串类型
        2. number 数字 包括整数和小数类型
        3. boolean 布尔类型 值只有 true和false 两个
        4. object 对象类型 空对象使用 null表示
                有两种格式(了解)
                    Object格式 例如 new Object();
                    JSON格式 例如 {name:"张三",age:18}
        5. undefined 变量未赋值
-->
<script >
    //1. string 字符串
    let str = "你好";
    console.log(str);
    console.log(typeof str);//string
    //2. number 数字
    let n = 123.456;
    console.log(n);
    console.log(typeof n);//number
    //3. boolean 布尔类型
    let boo = false;
    console.log(boo);
    console.log(typeof boo);//boolean
    //4. object 对象类型 空对象使用 null表示
    let obj = null;//或 new Object();
    console.log(obj);
    console.log(typeof obj);//object
    //5. undefined 变量未赋值
    let u = undefined;
    console.log(u);//值是undefined
    console.log(typeof u);//类型是undefined

    //Object类型
    let stu = new Object();//创建一个js对象,js对象的属性想要直接加上
    stu.id = 1;
    stu.name = "刘一";
    stu.age = 18;
    console.log(stu);//{id: 1, name: "刘一", age: 18}
    console.log(typeof stu);//object

    //  JS对象取属性值有两种方式:
    //1. obj.key
    console.log(stu.name);//刘一
    console.log(per.name);//陈二

    //2. obj["key"]
    console.log(stu["name"]); //刘一 == stu.name
    console.log(per["name"]);//陈二 == per.name
    let b = "age";
    console.log(stu[b]);//可以取不定属性的值

</script>
</body>
</html>

相关文章

网友评论

      本文标题:4/06day27_css _js

      本文链接:https://www.haomeiwen.com/subject/femhmhtx.html