为了账号安全,请及时绑定邮箱和手机立即绑定

HTML,CSS

标签:
Html/CSS

         

HTML    1、一套规则,浏览器认识的规则。    2、开发者:        学习Html规则        开发后台程序:            - 写Html文件(充当模板的作用) ******            - 数据库获取数据,然后替换到html文件的指定位置(Web框架)    3、本地测试         - 找到文件路径,直接浏览器打开(单个文件测试时,无需使用socket服务端)         - pycharm打开测试    4、编写Html文件                - doctype对应关系  <!--对于不同的浏览器有自己的编码规范,<!DOCTYPE html>默认是统一的规范,否则显示的页面由于对应关系不同,会错位-->        - html标签,标签内部可以写属性 ====> 只能有一个,<html lang="en"> </html>==>html标签,lang="en"叫html标签的属性。        - 注释:  <!--  注释的内容  -->    5、标签分类        - 自闭合标签            只写了一个<meta>标签,没有</meta>标签,自己就闭合了。            例如:<meta charset="UTF-8">          - 主动闭合标签            例如:<title>老男孩</title>      6、                - <meta  -> 编码,跳转,刷新,关键字,描述,IE兼容         6.1 编码:<meta charset="UTF-8">          6.2 跳转:<meta http-equiv="Refresh" Content="5" Url="http://baidu.com" /> 5秒钟后跳转至baidu.com          6.3 刷新:<meta http-equiv="Refresh" Content="30">  该页面默认30秒刷新一次                    6.4 关键字:<meta name="keywords" content="星际2,红警">          6.5 描述: <meta name="description" content="汽车之家为您提供最新汽车报价。" />          6.6 兼容:<meta http-equiv="X-UA-Compatible" content="IE=IE9;IE=IE8;" />                        - title标签   ,网站的标题            - <link /> 搞图标,欠            - <style />欠            - <script> 欠    7、body标签         - 图标,  &nbsp;  &gt;   &lt;         - p标签,段落 <p></p>         - br,换行  <br />         ======== 小总结  =====            所有标签分为:            标签之间可以嵌套            标签存在的意义:通过 css操作、js操作可以方便定位到哪个标签的值。                             ps:chorme审查元素的使用                - 定位                - 查看样式        - h系列   :标题字体大小,从h1到h6,h1最大,h6最小。   <h1></h1>         -         - span   :白板,横着输出。属于行内标签;  <span></span>        - input系列 + form标签            input type='text'     - name属性,value="赵凡"             input type='password' - name属性,value="赵凡"             input type='submit'   - value='提交' 提交按钮,表单            input type='button'   - value='登录' 按钮                        input type='radio'    - 单选框 value,checked="checked",name属性(name相同则互斥)            input type='checkbox' - 复选框 value, checked="checked",name属性(批量获取数据)            input type='file'     - 依赖form表单的一个属性 enctype="multipart/form-data"            input type='rest'     - 重置                <textarea >默认值</textarea>  - name属性            select标签            - name,内部option value, 提交到后台,size,multiple                - a标签            - 跳转            - 锚     href='#某个标签的ID'    标签的ID不允许重复                    - img              src             alt             title                     - 列表            ul                li            ol                li            dl                dt                dd        - 表格            table                thead                    tr                        th                tbody                    tr                        td            colspan = ''            rowspan = ''        - label            用于点击文件,使得关联的标签获取光标            <label for="username">用户名:</label>            <input id="username" type="text" name="user" />        - fieldset            legend            - 20个标签    -html中的注释         <!-- 注释 -->    CSS在标签上设置style属性:    background-color: #2459a2;    height: 48px;    ...编写css样式:    1. 标签的style属性    2. 写在head里面 style标签中写样式        - id选择区              #i1{                background-color: #2459a2;                height: 48px;              }              <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><style>    #i1 {        background-color: #2459a2;        height: 48px;    }    .c1,.c2{        background-color: red;        height: 48px;    }    .c1 div{        background-color: green;        height: 48px;    }    .c3[name='xiaofeng'] {        width: 100px;        height: 100px;    }</style></head><body><div id="i1">id标签不能重复</div>   <!--id不能重复 --><div class="c1">class标签可以复用</div>  <!-- class标签可以重复,最常用的一种方式 --><span class="c2">组合选择器    <div>层级选择器,关联syle里的c1中的div样式</div></span><input class="c3" type="text" name="xiaofeng"></body></html>- class选择器 ******          .名称{        ...      }            <标签 class='名称'> </标签>- 标签选择器        div{            ...        }                        所有div设置上此样式- 层级选择器(空格) 重点,必须掌握       .c1 .c2 div{                   }- 组合选择器(逗号) 重点,必须掌握        #c1,.c2,div{                   }- 属性选择器 重点,必须掌握       对选择到的标签再通过属性再进行一次筛选       .c1[n='alex']{ width:100px; height:200px; }       PS:    - 优先级,标签上style优先,编写顺序,就近原则2.5 css样式也可以写在单独文件中1)创建一个stylesheet文件,文件名字叫commons.css,内容为style里的内容,如#i1 {background-color: #2459a2;height: 48px;}.c1,.c2{background-color: red;height: 48px;}.c1 div{background-color: green;height: 48px;}.c3[name='xiaofeng'] {width: 100px;height: 100px;}2)在html中<head>标签中写入  <link rel="stylesheet" href="commons.css" /> 即可调用commons.css文件里的标签样式。        3、css中的注释    /*   */4、边框     - 宽度,样式,颜色  (border: 4px dotted red;)         -关于样式                solid:实线                dotted:虚线     - border-left5、基础样式    height,         高度 百分比    width,          宽度 像素,百分比    text-align:ceter, 水平方向居中    line-height,垂直方向根据标签height的高度居中,且水平方向也居中。 重点掌握    color、     字体颜色    font-size、 字体大小    font-weight 字体加粗6、float 漂浮    让标签漂起来,比如让两个块级标签可以实现同一行里左右飘浮,使块级标签也可以堆叠。因为块级标签默认是占一行。    例:        <div style="width: 20%; height: 100px;border: 5px dotted blue;float: left"></div>                   <div style="width: 70%; height: 100px;border: 5px dotted darkorchid;float: left"></div>        老子管不住:        <div style="clear: both;"></div>    7、display  display: none; -- 让标签消失display: inline;   将块级标签变成内连(行内)标签    例:     <div style="background: red;display: inline" >块级标签</div>     display: block;  将内连(行内)标签变成块级标签        例:          <span style="background: green;display: block">内连标签</span>display: inline-block;  使行内标签可以设置高度和宽度,默认行内标签无法设置高度,宽度,边距。    例:     <span style="height:50px;width: 100px;background:  green;display: block;border:2px solid red;display:inline-block">内连标签</span>         具有inline,默认自己有多少占多少                  具有block,可以设置无法设置高度,宽度,padding  margin   小结:行内标签:无法设置高度,宽度,padding  margin块级标签:可以设置高度,宽度,padding  margin        8、边距padding:内边距    padding-top:10px;距离当前div标签的顶部边框的距离是10像素margin:外边距    margin-top:10px; 当前div标签距离顶部10像素;    margin(0,auto) 设置对象上下间距为0,左右自动。 事例:返回顶部<body>    <div style="height: 50000px">        <div onclick="GoTop()" style="height: 100px;width: 100px;position: fixed;bottom: 20px;right: 20px;background: cadetblue ;font-size:29px;color: crimson ">返回顶部</div>    </div></body><script>    function GoTop(){        document.body.scrollTop = 0;    }</script>
9 position    position: fixed;  <: ;: ;: ;: ;: ;: ;:;: >返回顶部</>    position: absolute;   父标签里定义一个position:relative;子标签里定义一个position:absolute; 子标签就会相对父标签定位。    bottom:20px;  right: 20px;  margin-top: 50px;  10 background    background-image:url('img/1.gif')  background-repeat:repeat-x; background-repeat:repeat-y; background-repeat:no-repeat; background-position-x:0;    background-position-y:-20px;    background-position:0 -20px;11 hover   选择鼠标指针浮动在其上的元素,并设置其样式:a:hover{ background-color:yellow;}12 overflow  如果元素中的内容超出了给定的宽度和高度属性,overflow 属性可以确定是否显示滚动条等行为。13 z-index   层级。设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。数值最大的,在顶层。14 opacity设置元素的不透明级别,规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。
       三、JavaScript:(独立的编程语言,跟java半毛钱关系也没有。浏览器就自带js代码的解释器)3.1 js代码书写方法和位置:法一:以代码形式存在html里的head中,但是不够灵活<head>    <meta charset="UTF-8">    <title>Title</title>    <style>        /* css 代码*/    </style>    <script>        //javascript代码    </script></head>法二:js代码以文件的形式存放,html里调用这个文件<head>    <meta charset="UTF-8">    <title>Title</title>    <link rel="stylesheet" href="commons.css" >    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="commons.js"></script></head>法三: 临时书写,可以在浏览器终端的console里小结:    一般js都不放在head里,为了提高网页的打开效率和友好度,通常会把js的<scripts>js代码</scripts>放在<body>html代码</body>下面    3.2 js注释:        当行注释  //内容     多行注释  /* 内容*/     3.3 js基本语法:  3.4变量:        python中:            name = "xiaoming"           js中:            name = "xiaoming"    #全局变量         var name = "xiaoming" #局部变量,切记,使用过程中变量一般都要加上var         3.5 基本数据类型:详见:     注意:         null、undefinednull是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”。           undefined是一个特殊值,表示变量未定义。           3.5.1 数字JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。转换:parseInt(..)    将某值转换成数字,不成功则NaNparseFloat(..) 将某值转换成浮点数,不成功则NaN特殊值: NaN,非数字。可使用 isNaN(num) 来判断。Infinity,无穷大。可使用 isFinite(num) 来判断。更多数值计算:3.5.2字符串字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。常见功能:obj.length                           获取当前字符串长度obj.trim()                           移除空白obj.trimLeft()                                                  移除左面obj.trimRight)obj.charAt(n)                        返回字符串中的第n个字符,n是索引位置obj.concat(value, ...)               拼接obj.indexOf(substring,start)         子序列位置,比如字符串索引位置obj.lastIndexOf(substring,start)     子序列位置obj.substring(from, to)              根据索引获取子序列,from是开始位置,to结束位置obj.slice(start, end)                切片obj.toLowerCase()                    大写obj.toUpperCase()                    小写obj.split(delimiter, limit)          分割obj.search(regexp)                   从头开始匹配,返回匹配成功的第一个位置(g无效)obj.match(regexp)                    全局搜索,如果正则中有g表示找到全部,否则只找到第一个。obj.replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,                                     $数字:匹配的第n个组内容;                                     $&:当前匹配的内容;                                     $`:位于匹配子串左侧的文本;                                     $':位于匹配子串右侧的文本                                     $$:直接量$符号                                                                                                                                            3.5。3 数组JavaScript中的数组类似于Python中的列表常见功能obj.length          数组的大小 obj.push(ele)       尾部追加元素obj.pop()           尾部获取一个元素obj.unshift(ele)    头部插入元素obj.shift()         头部移除元素obj.splice(start, deleteCount, value, ...)  插入、删除或替换数组的元素                    obj.splice(n,0,val) 指定位置插入元素                    obj.splice(n,1,val) 指定位置替换元素                    obj.splice(n,1)     指定位置删除元素obj.slice( )        切片obj.reverse( )      反转obj.join(sep)       将数组元素连接起来以构建一个字符串obj.concat(val,..)  连接数组obj.sort( )         对数组元素进行排序3.5.4 字典a={'k1':'v1','k2':'v2'}执行a[k1],值为v13.5.5 布尔值布尔类型仅包含真假,与Python不同的是其首字母小写。==      比较值相等!=       不等于===   比较值和类型相等!===  不等于||        或&&      且        3.6 For循环此种方法循环的是元素的索引<script>    a=[11,22,33,44]    for (item in a){        console.log(a[item]);    }    b={'k1':'v1','k2':'v2'}    for (item in b){        console.log(b[item])    }</script>        3.7 条件语句语法:if(条件){}else if(条件){}else if(条件){}else{}条件符号:          ==    只要值相同就相等        !=        ===   不仅要比对值,类型也要相等才会相等        !==                ||    或,相当于python里的or                &&    且,相当于python里的and            函数的定义:        function func(){            ...        }        4、Dom详看:http://www.cnblogs.com/wupeiqi/articles/5643298.html    4.1 找标签4.1.1直接找 $('#id')  $('.c1').siblings()document.getElementById             根据ID获取一个标签document.getElementsByName          根据name属性获取多个标签(获取的是列表)document.getElementsByClassName     根据class属性获取标签集合document.getElementsByTagName       根据标签名获取标签集合        直接查找            var obj = document.getElementById('i1')        间接查找            文件内容操作:                innerText    仅文本                innerHTML    全内容                value                    input    value获取当前标签中的值                    select   获取选中的value值(selectedIndex)                    textarea value获取当前标签中的值                                搜索框的示例4.1.2 间接找先找到一个标签,然后根据这个标签去找其他标签;例如var tag = document.getElementById('i1')  //先找到id=i1的标签var content = tag.parentElement     //然后找i1的父标签 parentElement           // 父节点标签元素children                // 所有子标签firstElementChild       // 第一个子标签元素lastElementChild        // 最后一个子标签元素nextElementtSibling     // 下一个兄弟标签元素previousElementSibling  // 上一个兄弟标签元素parentNode          // 父节点childNodes          // 所有子节点firstChild          // 第一个子节点lastChild           // 最后一个子节点nextSibling         // 下一个兄弟节点previousSibling     // 上一个兄弟节点4.2 操作:4.2.1 内容var tag = document.getElementById('i1')  //先找到id=i1的标签var content = tag.innerText    //获取i1标签的文本内容innerText   文本outerTextinnerHTML   HTML全内容innerHTML   value     值     input    value获取当前标签中的值    select   获取选中的value值(selectedIndex)    textarea value获取当前标签中的值    4.2.2 样式操作:    className    classList        classList.add        classList.remove                  obj.style.fontSize = '16px';    obj.style.backgroundColor = 'red';    obj.style.color = "red"        4.2.3 属性操作 attributes                // 获取所有标签属性setAttribute(key,value)   // 设置标签属性getAttribute(key)         // 获取指定标签属性removeAttribute /*var atr = document.createAttribute("class");atr.nodeValue="democlass";document.getElementById('n1').setAttributeNode(atr);*/         innerText                checkbox:             checked                    className        classList    4.2.4 创建标签,并添加到HTML中:    a. 字符串形式        b. 对象的方式        document.createElement('div')        4.2.5 提交表单    任何标签通过DOM都可提交表单        document.geElementById('form').submit()4.2.6 其他:    console.log()    alert    var v = confirm(信息)  v:true false        location.href    location.href = ""  # 重定向,跳转    location.reload()   # 页面刷新    location.href = location.href   < === > location.reload()            var o1 = setInterval(function(){}, 5000)    clearInterval(o1);        var o2 = setTimeout(function(){}, 50000);    clearTimeout(o2);        var obj = setInterval(function(){            }, 5000)        clearInterval(obj); 事件:    onclick,onblur,onfocus        行为  样式  结构 相分离的页面?    js    css   html          绑定事件两种方式:        a. 直接标签绑定 onclick='xxx()'  onfocus                <div onclick='函数(123)'></div>                        <script>                    。。。。                </script>        b. 先获取Dom对象,然后进行绑定            document.getElementById('xx').onclick            document.getElementById('xx').onfocus                this,当前触发事件的标签        a. 第一种绑定方式            <input id='i1' type='button' onclick='ClickOn(this)'>                        function ClickOn(self){                // self 当前点击的标签                            }        b. 第二种绑定方式            <input id='i1' type='button' >            document.getElementById('i1').onclick = function(){                            // this 代指当前点击的标签            }                        作用域示例:            var myTrs = document.getElementsByTagName("tr");            var len = myTrs.length;            for(var i=0;i<len;i++){                // i=0,i=1,i=2                myTrs[i].onmouseover = function(){                     this.style.backgroundColor = "red";                };            }                4.2.7 定时器 书写方法:setInterval('函数()', 4000) 事例 <script>     function f1(){        console.log(1);     }    //创建一个定时器,5000是毫秒,相当于5秒执行一个alert命令,弹出一个框,内容是123     setInterval("alert(123)",5000);  </script>            4.2.8 其他:          alert() console.log()                                4.3 搜索框的示例操作:          样式操作:        className        classList            classList.add            classList.remove                              obj.style.fontSize = '16px';        obj.style.backgroundColor = 'red';        obj.style.color = "red"                    属性操作:        attributes        getAttribute        removeAttribute            创建标签,并添加到HTML中:        a. 字符串形式                b. 对象的方式            document.createElement('div')                    提交表单        任何标签通过DOM都可提交表单                document.geElementById('form').submit()        其他:        console.log()        alert        var v = confirm(信息)  v:true false                location.href        location.href = ""  # 重定向,跳转        location.reload()   # 页面刷新        location.href = location.href   < === > location.reload()                        var o1 = setInterval(function(){}, 5000)        clearInterval(o1);                var o2 = setTimeout(function(){}, 50000);        clearTimeout(o2);                var obj = setInterval(function(){                    }, 5000)                clearInterval(obj);                    5 实战<body>    <div id="i1">欢迎领导莅临指导</div></body><script>    function func(){        //根据id获取标签的内容,定义局部变量        var tag = document.getElementById('i1');        //获取标签内部的内容        var content = tag.innerText;        var f = content.charAt(0);        var l = content.substring(1,content.length);        var new_content = l +f ;        tag.innerText = new_content;    }    //创建一个定时器     setInterval("func()",500);</script>        6、for循环    for(var item in [11,22,33]){        console.log(item);        continue;    }    var arra = [11,22,32,3]    for(var i=0;i<arra.lenght;i=i+1){        break;    }    while(条件){    }7、条件语句    if(){    }else if(){    }else{    }    ==    ===    name='3';    switch(name){        case '1':            age = 123;            break;        case '2':            age = 456;            break;        default :            age = 777;    }8. 函数    function func(arg){        return arg+1    }    var result = func(1)    console.log(result);    普通函数:        function func(){        }    匿名函数:        function func(arg){            return arg+1        }        setInterval("func()", 5000);        setInterval(function(){            console.log(123);        },5000)    自执行函数(创建函数并且自动执行):        function func(arg){            console.log(arg);        }        // func(1)        (function(arg){            console.log(arg);        })(1)注意:对于JavaScript中函数参数,实际参数的个数可能小于形式参数的个数,函数内的特殊值arguments中封装了所有实际参数。9、序列化    JSON.stringify()   将对象转换为字符串    JSON.parse()       将字符串转换为对象类型10、转义    客户端(cookie)   =》 服务器端    将数据经过转义后,保存在cookie11、eval    python:        val = eval(表达式)              exec(执行代码)    JavaScript:        eval12、时间    Date类    var d = new Date()    d.getXXX  获取    d.setXXX  设置13、作用域    ================================ 1. 以函数作为作用域 (let)================================    其他语言: 以代码块作为作用域                public void Func(){                    if(1==1){                        string name = 'Java';                    }                    console.writeline(name);                }                Func()                // 报错    Python:   以函数作为作用域                情况一:                    def func():                        if 1==1:                            name = 'alex'                        print(name)                    func()                    // 成功                情况二:                    def func():                        if 1==1:                            name = 'alex'                        print(name)                    func()                    print(name)                    // 报错    JavaScript:  以函数作为作用域                function func(){                    if(1==1){                        var name = 'alex';                    }                    console.log(name);                }                func()    ================================ 2. 函数的作用域在函数未被调用之前,已经创建 ================================    function func(){        if(1==1){            var name = 'alex';        }        console.log(name);    }    ================= 3. 函数的作用域存在作用域链,并且也是在被调用之前创建 ==================    示例一:        xo = "alex";        function func(){            // var xo = 'eric';            function inner(){                // var xo = 'tony';                console.log(xo);            }            inner()        }        func()    示例二:        xo = "alex";        function func(){            var xo = 'eric';            function inner(){                console.log(xo);            }            return inner;        }        var ret = func()        ret()    示例三:        xo = "alex";        function func(){            var xo = 'eric';            function inner(){                console.log(xo);            }            var xo = 'tony';            return inner;        }        var ret = func()        ret()    ================= 4. 函数内局部变量 声明提前 ==================    function func(){        console.log(xxoo);    }    func();    // 程序直接报错    function func(){        console.log(xxoo);        var xxoo = 'alex';    }    解释过程中:var xxoo;    func();    // undefined14、JavaScript面向对象    JavaScript面向对象        function foo(){            var xo = 'alex';        }        foo()        function Foo(n){            this.name = n;            this.sayName = function(){                console.log(this.name);            }        }        var obj1 = new Foo('we');        obj1.name        obj1.sayName()        var obj2 = new Foo('wee');        obj2.name        obj2.sayName()        ==============》            a. this代指对象(python self)            b. 创建对象时, new 函数()    Python的面向对象:        class Foo:            def __init__(self,name):                self.name = name            def sayName(self):                print(self.name)        obj1 = Foo('we')        obj2 = Foo('wee')    原型:        function Foo(n){            this.name = n;        }        # Foo的原型        Foo.prototype = {            'sayName': function(){                console.log(this.name)            }        }        obj1 = new Foo('we');        obj1.sayName()        obj2 = new Foo('wee');                      小结:CSS重要的标签    position    background    text-align    margin    padding    font-size    z-index    over-flow    :hover    opacity    float (clear:both)    line-height    border    color    display    补充:页面布局主站—    <div class='pg-header'>           <div style='width:980px;margin:0 auto;'>               内容自动居中           </div>        </div>    <div  class='pg-content'></div>    <div  class='pg-footer'></div>后台管理布局:position:    fiexd    -- 永远固定在窗口的某个位置    relative -- 单独无意义    absolute -- 第一次定位,可以在指定位置,滚轮滚动时,不在了。。。。    a.     左侧菜单跟随滚动条b.     左侧以及上不不动   ******                    jQuery


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消