前端基础

  • 溢出属性

  • 定位属性

  • z-index属性

  • 课堂练习

  • JavaScript简介

  • JS变量与注释

  • JS数据类型

    溢出属性

    文本内容超出了标签的最大范围

    overflow:hidden;>>>>>>>>>>将超出的文本内容隐藏
    overflow:auto;>>>>>>>>>>>>可以滚动查看文本内容
    overflow:scroll;>>>>>>>>>>>可以滚动查看文本内容
    

    溢出实例(制作圆形图像)

    div {
                overflow: hidden;
            }
    div img {
                width: 100%; >>>>>>>>>让这个图片占据100%
            }
    

    定位属性

    # 定位的方式
    1.静态定位(static)
    所有的标签默认都是静态标签,不能通过定位操作改变位置
    2.相对定位(relative)
    相对于标签原来的位置做定位
    3.绝对定位(absolute)
    相对于已经定位过的父标签做定位
    4.固定定位(fixed)
    相对于浏览器窗口做固定定位
    
    # 定位操作
    position
      left\right\top\bottom
      绝对定位
      	如果没有父标签或者父标签没有定位 则以body为准 相当于变成了相对定位
        	eg:小米商城购物车
      固定定位
      	eg:右下方回到底部
          position: fixed;
          right: 0;
          bottom: 50px;
    

    z-index属性

    前端界面其实是一个三维坐标系,z轴指向用户,z-index就是用来帮助我们控制z轴的。动态弹出的分层界面,我们也称之为模态框。

    代码演示:

    <style>
            .modal {
                position: fixed;
                left: 0;
                top: 0;
                right: 0;
                bottom: 0;
                background-color: rgba(128,128,128,0.5);	# 最后一个参数可以调透明度
                z-index: 10;
            }
            .cover {
                height: 200px;
                width: 400px;
                background-color: white;
                z-index: 11;
                position: fixed;
                left: 50%;
                top: 50%;
    		   margin-left: -200px;
                margin-top: -100px;
            }
    </style>
        
    <div>
            最底下的页面
        </div>
        <div class="modal"></div>
        <div class="cover">
            <p>username:<input type="text"></p>
            <p>password<input type="text"></p>
        </div>    
    

    课堂练习(制作博客页面)

    1.先用div和span勾勒出页面轮廓,标签的class和ID值要见名知意

    2.再编写html

    3.最后编写css

    html代码:

    <body>
        <div class="blog-left">
            <div class="blog-touxiang">
                <img src="https://img0.baidu.com/it/u=4242583357,577833130&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500" alt="">
            </div>
            <div class="blog-biaoti">
                <span>wh老师的博客</span>
            </div>
            <div class="blog-jieshao">
                <span>这个人很懒</span>
            </div>
            <div class="blog-link">
                <ul>
                    <li><a href="">关于我</a></li>
                    <li><a href="">微博</a></li>
                    <li><a href="">微信公众号</a></li>
                </ul>
            </div>
            <div class="blog-xinxi">
                <ul>
                    <li><a href="">#python</a></li>
                    <li><a href="">#java</a></li>
                    <li><a href="">#Golan</a></li>
                </ul>
            </div>
        </div>
        <div class="blog-right">
            <div class="article-list">
                <div class="article-biaoti">
                    <span class="biaoti">重金求子</span>
                    <span class="shijian">2022-4-27</span>
                </div>
                <div class="article-jianjie">
                    <span class="neiron">多少钱</span>
                </div>
                <div class="article-info">
                    <span class="fupo">#富婆通讯录</span>
                    <span class="ruanfan">#软饭硬吃</span>
                </div>
            </div>
        </div>
    </body>
    

    css代码(写在myblog文件里):

    # /*页面通用样式*/
    body {
        margin: 0;
        background-color: aqua;
    }
    a {
        text-decoration: none;
    }
    ul {
        list-style-type: none;
        padding-left: 0;
    }
    
    # /*左边样式*/
    .blog-left {
        float: left;
        height: 100%;
        width: 20%;
        position: fixed;
        left: 0;
        top: 0;
        background-color: antiquewhite;
    }
    .blog-touxiang {
        height: 200px;
        width: 200px;
        border-radius: 50%;
        border: 5px solid white;
        overflow: hidden;
        margin: 0 auto;
    }
    .blog-touxiang img {
        width: 100%;
    }
    .blog-biaoti,.blog-jieshao {
        color: dimgray;
        text-align: center;
        margin: 20px auto;
    }
    .blog-link,.blog-xinxi {
        font-size: 24px;
        text-align: center;
        margin: 100px auto;
    
    }
    .blog-link a,.blog-xinxi a {
        color: darkgray;
    }
    .blog-link a:hover,.blog-xinxi a:hover {
        color: white;
    }
    
    
    
    # /*右边样式*/
    .blog-right {
        float: right;
        height: 100%;
        width: 80%;
        
    }
    .article-list {
        background-color: white;
        margin: 20px 50px 20px 10px;
        box-shadow: 5px 5px 5px rgb(0,0,0,0.5);
    }
    .article-biaoti {
        border-left: 8px solid red;
    }
    .article-biaoti .biaoti {
        font-size: 36px;
        padding-left: 18px;
    }
    .article-biaoti .shijian {
        float: right;
        margin: 20px 30px;
        font-weight: bolder;
    }
    .article-jianjie {
        padding-top: 10px;
        font-size: 24px;
        text-indent: 20px;
        border-bottom: 1px solid black;
    }
    .article-info {
        font-size: 18px;
        padding-left: 20px;
        padding-top: 10px;
        padding-bottom:10px ;
    }
    

    以上所写的页面,没有做响应式布局,页面内容会随着浏览器窗口的变化而出现错乱现象

    JavaScript简介

    1.JavaScript简称JS 也是一门前端的编程语言,现在的使用版本是ECMA5与ECMA6两个版本

    JS中的变量与注释

    编写js代码的位置,1.pycharm提供的js文件。2.浏览器提供的js环境

    # 1.注释语法
    	// 单行注释
      /*多行注释*/
    # 2.结束符号
    	分号结束   console.log('hello world');
    # 3.变量声明
    	在js中定义变量需要使用关键字声明
    	1.var
      	var name = 'jason'
      2.let
      	let name = 'jason'
      '''var声明都是全局变量 let可以声明局部变量'''
    # 4.常量声明
    	const pi = 3.14
    

    js中的数据类型

    """
    查看数据类型的方式
    	typeof
    """
    # 1.数值类型(相当于python里面的整型int和浮点型float)
    	Number
      NaN:属于数值类型 意思是'不是一个数字'(not a number)
        parseInt('abc')  不报错返回NaN
        parseFloat('abc')不报错返回NaN
      
    # 2.字符类型(相当于python里面的字符串str)
    	String
      	默认只能是单引号和双引号 
        	var name1 = 'jason'
          var name2 = "jason"
      	格式化字符串小顿号
        	var name3 = `jason`
    	1.字符的拼接
      	js中推荐使用加号
      2.统计长度
      	js中使用length python中使用len()
      3.移除空白(不能指定)
      	js中使用trim()、trimLeft()、trimRight()
        python中使用strip()、lstrip()、rstrip()
      4.切片操作
      	js中使用substring(start,stop)、slice(start,stop)
        	前者不支持负数索引后者支持
        python中使用[index1:index2]
      5.大小写转换
      	js中使用.toLowerCase()、.toUpperCase()
        python中使用lower()、upper()
      6.切割字符串
      	js中和python都是用split() 但是有点区别
        	ss1.split(' ')
          	['jason', 'say', 'hello', 'big', 'baby']
          ss1.split(' ', 1)
          	['jason']
          ss1.split(' ', 2)
          	['jason', 'say']
      7.字符串的格式化
      	js中使用格式化字符串(小顿号)
        	var name = 'jason'
          var age = 18
          console.log(`
          	my name is ${name} my age is ${age}
          `)
          my name is jason my age is 18
        python中使用%或者format
    
    # 3.布尔类型(相当于python中的布尔值bool)
    	Boolean
      	js中布尔值是全小写
        	true false
          布尔值为false的 0 空字符串 null undefined NaN
        python中布尔值时首字母大写
        	True False
        	布尔值为False的 0 None 空字符串 空列表 空字典...
      """
      null的意思是空 undefined的意思是没有定义
      var bb = null;
      bb
      null
      
      var aa
      aa
      undefined
      """
    # 4.对象(相当于python中的列表、字典、对象)
    	数组(相当于python中的列表)
      	Array
        	var l1 = [11, 22, 33]
      1.追加元素
      	js中使用push()  python中使用append()
      2.弹出元素
      	js和python都用的pop()
      3.头部插入元素
      	js中使用unshift()  python中使用insert()
      4.头部移除元素
      	js中使用shift()    python中可以使用pop(0) remove() 
      5.扩展列表
      	js中使用concat()   python中使用extend()
      6.forEach
      	var l2 = ['jason', 'tony', 'kevin', 'oscar', 'jerry']
        l2.forEach(function(arg1){console.log(arg1)})
        VM3143:1 jason
        VM3143:1 tony
        VM3143:1 kevin
        VM3143:1 oscar
        VM3143:1 jerry
          
        l2.forEach(function(arg1,arg2){console.log(arg1,arg2)})
        VM3539:1 jason 0
        VM3539:1 tony 1
        VM3539:1 kevin 2
        VM3539:1 oscar 3
        VM3539:1 jerry 4
         
        l2.forEach(function(arg1,arg2,arg3){console.log(arg1,arg2,arg3)})
    VM3663:1 jason 0 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
    VM3663:1 tony 1  ['jason', 'tony', 'kevin', 'oscar', 'jerry']
    VM3663:1 kevin 2 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
    VM3663:1 oscar 3 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
    VM3663:1 jerry 4 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
     	7.splice
      	splice(起始位置,删除个数,新增的值)