zoukankan      html  css  js  c++  java
  • 我的三天前端世界

     **我的三天前端世界 **

    最近爱上了二次元,感觉动漫里的小姐姐实在都太漂亮了,以前怎么就没觉得哎。于是向同学要来了日语入门学习和单词书,想来拜访一下日本文化,当然了在某次不经意间浏览了一位大佬的二次元博客,感觉十分心动(可以看一下呀<a herf=" https://zouwang.vip/ ”>)。便想复习并深入一下前端的知识,不断打造自己的博客并运用到最近的Android和小程序学习中。


    DAY1——HTML

    1、编译器选择

    看过蛮多网上推荐的,最终还是推荐出两款

    (1) VS CODE

    推荐原因:插件真的很不错,不仅仅适用于前端开发,学习C、Python等皆可以,主题可以任意下载,代码支持高亮,还有很多别的功能,听说最近将会发布web端 vs code。

    (2) Sublime

    推荐原因:很轻便,也就几M,主题效果可以下载,我是选择最初的,不如VS CODE炫酷。

    2、学习文档

    距离上一次学习前端已经是N 记不清楚啥时候了。其实也没啥,还好有点英语底子,对着文档现学现用

    这里我直接下载了W3c的教程文件

    有不懂的就搜索就好

    3、掌握要点

    vs code html基本格式快速导入

    创建好.html文件后输入一个 !-回车 便可以了。

    我们需要编辑的只有head和body之间的内容

    首先说head---其信息一般是不显示出来的,但是记录了你这个HTML文件的很多有用的信息.,比如我们要导入css文件或者书写css都在head中进行。

    再说body---正文的意思,是我们要在网页中展现出来的,在此还可以加上js效果让网页动起来呢。

    看一个简单效果图

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>day1-html练习</title>
    </head>
        <h1>hello world</h1>
        <h2>hello world</h2>
        <h3>hello world</h3>
        <h4>hello world</h4>
        <h5>hello world</h5>
        <h6>hello world</h6>
    <body>
    

    DAY2——CSS

    1、三种方式

    这里推荐使用前两种

    前两种中link和和style均写在.html的head中

    来个演示:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="../css/index.css">
        <title>day2-css练习</title>
    </head>
    <body>
    <div class="box">
    <h1>hello world</h1>
    <h2>hello world</h2>
    <h3>hello world</h3>
    <h4>hello world</h4>
    <h5>hello world</h5>
    <h6>hello world</h6>
        </div>
    </body>
    </html>
    
    
    .box{
        color: red;
    } 
    

    2、选择器

    先上个obvious的图

    css基本格式就是如此,当然还有id和class选择器

    id 选择器以 "#" 来定义,class选择器用法可见上例所示,还是用一张图表示

    3、盒子模型

    直接上图啦~

    每个盒子有四个边界:内容边界 Content edge内边距边界 Padding Edge边框边界 Border Edge外边框边界 Margin Edge

    推荐个网站讲得更详细一些:

    (1)内容区域 content area ,由内容边界限制,容纳着元素的“真实”内容,例如文本、图像,或是一个视频播放器。它的尺寸为内容宽度(或称 content-box 宽度)和内容高度(或称 content-box 高度)。它通常含有一个背景颜色(默认颜色为透明)或背景图像。

    如果 box-sizingcontent-box(默认),则内容区域的大小可明确地通过 widthmin-widthmax-widthheightmin-height,和 max-height 控制。

    (2)内边距区域 padding area 由内边距边界限制,扩展自内容区域,负责延伸内容区域的背景,填充元素中内容与边框的间距。它的尺寸是 padding-box 宽度padding-box 高度

    内边距的粗细可以由 padding-toppadding-rightpadding-bottompadding-left,和简写属性 padding 控制。

    (3)边框区域 border area 由边框边界限制,扩展自内边距区域,是容纳边框的区域。其尺寸为 border-box 宽度border-box 高度

    边框的粗细由 border-width 和简写的 border 属性控制。如果 box-sizing 属性被设为 border-box,那么边框区域的大小可明确地通过 widthmin-width, max-widthheightmin-height,和 max-height 属性控制。假如框盒上设有背景(background-colorbackground-image),背景将会一直延伸至边框的外沿(默认为在边框下层延伸,边框会盖在背景上)。此默认表现可通过 css属性 background-clip 来改变。

    (4)外边距区域 margin area 由外边距边界限制,用空白区域扩展边框区域,以分开相邻的元素。它的尺寸为 margin-box 宽度margin-box 高度

    外边距区域的大小由 margin-topmargin-rightmargin-bottommargin-left,和简写属性 margin 控制。在发生外边距合并的情况下,由于盒之间共享外边距,外边距不容易弄清楚。

    当然一个页面也可以由多个盒子构造,就像是html中所涉及的table一样,看个图吧

    当然这只是一个初步认识,在网上还有更多嵌套、重叠等等方法可以去学习呢

    4、颜色选择

    颜色一般简单设计中选取关键字或十六进制就好,在代码中会智能提示,选择自己喜欢的呀。

    DAY3——JavaScript

    学习js的时候最直观的感受就是我这不是在复习Java么???

    其实每一门编程语言都大同小异,只是在语法上细微的区别罢了,所以复习起来也很快吧。

    1、不同的认知

    (1)严格相等

    ===严格相等

    var num = 0;
    var obj = new String("0");
    var str = "0";
    var b = false;
    
    console.log(num === num); // true
    console.log(obj === obj); // true
    console.log(str === str); // true
    
    console.log(num === obj); // false
    console.log(num === str); // false
    console.log(obj === str); // false
    console.log(null === undefined); // false
    console.log(obj === null); // false
    console.log(obj === undefined); // false
    

    (2)语法

    var 变量名 = 初始化值;

    (3)方法对象

    1.var 方法名 = function(形式参数列表){
                        方法体
                   }
                   
    2.function 方法名称(形式参数列表){
        方法体
    }
    

    其他在运用上js的API明显是少于Java的,所以有不懂得查查用用就会快速上手

    2、BOM

    Browser Object Model 浏览器对象模型

    组成:

    • Window:窗口对象
    • Navigator:浏览器对象
    • Screen:显示器屏幕对象
    • History:历史记录对象
    • Location:地址栏对象
        (1)Window:窗口对象
        一些常用方法:
        1. 与弹出框有关的方法:
           alert()	显示带有一段消息和一个确认按钮的警告框。
           confirm()	显示带有一段消息以及确认按钮和取消按钮的对话框。
               * 如果用户点击确定按钮,则方法返回true
               * 如果用户点击取消按钮,则方法返回false
           prompt()	显示可提示用户输入的对话框。
               * 返回值:获取用户输入的值
        2. 与打开关闭有关的方法:
           close()	关闭浏览器窗口。
               * 谁调用我 ,我关谁
           open()	打开一个新的浏览器窗口
               * 返回新的Window对象
        3. 与定时器有关的方式
           setTimeout()	在指定的毫秒数后调用函数或计算表达式。
              * 参数:
                1. js代码或者方法对象
                2. 毫秒值
                   * 返回值:唯一标识,用于取消定时器
                clearTimeout()	取消由 setTimeout() 方法设置的 timeout。
        		setInterval()	按照指定的周期(以毫秒计)来调用函数或计算表达式。
                clearInterval()	取消由 setInterval() 设置的 timeout。
        
        属性:
        1. 获取其他BOM对象:
                history
                location
                Navigator
                Screen:
        2. 获取DOM对象
                document
                
        特点:
            * Window对象不需要创建可以直接使用 window使用。 window.方法名();
            * window引用可以省略.方法名();
           
           
        (2)Location:地址栏对象
        1. 创建(获取):
           1. window.location
           2. location
        2. 方法:
           * reload()	重新加载当前文档。刷新
        3. 属性
           * href	设置或返回完整的 URL。
           
           
        (3)History:历史记录对象
        1. 创建(获取):
                1. window.history
                2. history
        
        2. 方法:
                * back()	加载 history 列表中的前一个 URL。
                * forward()	加载 history 列表中的下一个 URL。
                * go(参数)	加载 history 列表中的某个具体页面。
                    * 参数:
                        * 正数:前进几个历史记录
                        * 负数:后退几个历史记录
        3. 属性:
                * length	返回当前窗口历史列表中的 URL 数量。
    
    

    3、DOM

    Document Object Model 文档对象模型

    核心:

    DOM - 针对任何结构化文档的标准模型

    • Document:文档对象

    • Element:元素对象

    • Attribute:属性对象

    • Text:文本对象

    • Comment:注释对象

    • Node:节点对象,其他5个的父对象

        核心DOM模型:
        * Document:文档对象
        1. 创建(获取):在html dom模型中可以使用window对象来获取
        		1. window.document
        		2. document
        2. 方法:
        		1. 获取Element对象:
        			1. getElementById()	: 根据id属性值获取元素对象。id属性值一般唯一
        			2. getElementsByTagName():根据元素名称获取元素对象们。返回值是一个数组
        			3. getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组
        			4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组
        		2. 创建其他DOM对象:
        			createAttribute(name)
                	createComment()
                	createElement()
                	createTextNode()
        3. 属性
        * Element:元素对象
        	1. 获取/创建:通过document来获取和创建
        	2. 方法:
        		1. removeAttribute():删除属性
        		2. setAttribute():设置属性
        * Node:节点对象,其他5个的父对象
        	* 特点:所有dom对象都可以被认为是一个节点
        	* 方法:
        		* CRUD dom树:
        			* appendChild():向节点的子节点列表的结尾添加新的子节点。
        			* removeChild()	:删除(并返回)当前节点的指定子节点。
        			* replaceChild():用新节点替换一个子节点。
        	* 属性:
        		* parentNode 返回节点的父节点。
    

    4、自己写个轮播图

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>轮播图</title>
        <style type="text/css">
        
        /*标题样式*/
        p {
            text-align: center;
            font-size: 50px;
            color:aqua;
            font-family: fantasy;
        }
    
        .imgBox{
            border-top: 2px solid aqua;
              1280px;
            height: 500px;
            margin: 0 auto;
        }
    
        .imgBox img{
             100%;
            height: 300px;
            margin: 0 auto;
            padding-top:30px;
        }
    
        .img1{
            display: block;
        }
        .img2{
            display: block;
        }
        .img3{
            display: block;
        }
    
    
        </style>
    </head>
    
    <body>
        <p>图片轮播</p>
        <div class="imgBox">
            <!--图片在我本地-->
            <img class="img-slide img1" src="../img/banner_1.jpg" alt="1">
            <img class="img-slide img2" src="../img/banner_2.jpg" alt="2">
            <img class="img-slide img3" src="../img/banner_3.jpg" alt="3">
        </div>
        <script type="text/javascript">
         /*
                分析:
                    1.在页面上使用img标签展示图片
                    2.定义一个方法,修改图片对象的src属性
                    3.定义一个定时器,每隔3秒调用方法一次。
    
             */
             var index=0;
        //改变图片
        function ChangeImg() {
            index++;
            var a=document.getElementsByClassName("img-slide");
            if(index>=a.length) index=0;
            for(var i=0;i<a.length;i++){
                a[i].style.display='none';
            }
            a[index].style.display='block';
        }
        //设置定时器,每隔3秒切换一张图片
        setInterval(ChangeImg,3000);
        </script>
    </body>
    </html>
    

    效果图显示:


    写在最后,就是一些入门级别的记录,在后面也会不断学习新的技术,有好看的设计也会分享嘞。

  • 相关阅读:
    Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门
    开源精神就意味着免费吗?
    是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了。
    springcloud(十五):Spring Cloud 终于按捺不住推出了自己的服务网关 Gateway
    写年终总结到底有没有意义?
    培训班出来的怎么了?
    【重磅】Spring Boot 2.1.0 权威发布
    一线大厂逃离或为新常态,大龄程序员改如何选择?
    Elastic 今日在纽交所上市,股价最高暴涨122%。
    技术人如何搭建自己的技术博客
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/11826456.html
Copyright © 2011-2022 走看看