每日测验

  1. """
  2. 今日考题
  3. 1.列举字符串,列表,元组,字典每个常用的五个方法
  4. 2.描述下列常见内置函数的作用可用代码说明map,zip,filter,sorted,reduce
  5. 3.列举你所知道的面相对象中的__开头__结尾的方法及作用,越多越好
  6. 4.写出form标签几个关键性的属性及作用
  7. 5.列举你所知道的css选择器
  8. """

昨日内容回顾

  • 表格标签 ```html 一个tr就是一行 表头里面建议使用th加粗文本 表头 表单里面的建议直接用td即可 表单

补充: table有一个border属性可以加一个比较丑的边框 针对tr可以设置rowspan、colspan

  1. -
  2. form表单
  3. ```python
  4. # 能够获取用户数据并且发送到后端
  5. <form action='' method='' enctype=''></form>
  6. """
  7. action 控制数据的提交路径
  8. 1.不写默认朝当前页面所在的地址提交
  9. 2.写全路径
  10. 3.只写后缀 /index/ 能够自动补全当前页面所载的后端服务器ip:port(暂时不考虑)
  11. method 控制请求方式
  12. 默认是get请求
  13. 也可以携带数据 但是数据是直接破解在url后面的 不安全并且大小有限制
  14. url?username=jason&password=123
  15. 可以修改为post请求
  16. 携带的数据放在请求体里面的
  17. enctype 控制数据的编码方式
  18. 默认是urlencoded 只能发送普通的文本 不能发送文件
  19. 如果你要发送文件 必须改为 formdata
  20. 发送文件必须要修改的两个参数
  21. method = 'post'
  22. enctype='...formdata'
  23. """
  24. input标签 获取用户数据的(输入 选择 上传...)
  25. <input type=''></input>
  26. type可以书写的类型
  27. text 普通文本
  28. password 展示密文
  29. date 日期
  30. radio 单选
  31. 默认选择可以用checked(属性名和属性值一样的时候就可以简写)
  32. checkbox 多选
  33. 默认选择可以用checked
  34. file 获取文件
  35. 了解:可以加multiple 支持传多个文件
  36. submit 触发form表单提交动作
  37. button 什么功能都没有 就是一个普通的按钮
  38. reset 重置按钮
  39. select标签 下拉框 默认是单选 可以加multiple成多选
  40. 一个个下拉框选项是一个个的option标签
  41. option标签默认选中可以加selected
  42. <select>
  43. <option value=''>111</option>
  44. <option value=''>222</option>
  45. <option value='' selected>333</option>
  46. </select>
  47. textarea标签 获取大段文本内容
  48. label标签 给input加上对于的注释信息 不写其实也没有关系
  49. input写在lable里面
  50. label的for关联input的id值 可以不嵌套
  51. """
  52. 获取用户数据的标签都应该都name属性
  53. 因为你需要给后端发送数据并且需要标明数据到底表示什么
  54. name 字典的key
  55. value 字典的value(用户数据)
  56. 需要用户选择的标签 你需要自己加上value值
  57. radio
  58. checkbox
  59. option
  60. ps:如果你给获取用户输入的标签加了value值 那么就类似于默认值
  61. """
  62. ps:hidden、disable、readonly、placeholder
  63. # 触发form表单提交数据的两种方式
  64. type=submit
  65. button按钮
  • flask框架
    代码目前你不需要去研究 我们写这个只是为了验证form表单的功能而已
    
  • css ```python

    注释

    /**/ 由于前端代码都笔记多并且没有什么规律 所以我们都会利用注释来帮助我们维护代码

语法结构

选择器 { 属性1:值; 属性2:值; 属性3:值; }

选择器

1.基本选择器 id选择器

  #d1 {}

类选择器 .c1 {} 标签选择器 div {} 通用选择器

  * {}
 p#d1.c1  <p id="d1" class="c1"></p>  emmet插件

2.组合选择器 我们将前端标签的嵌套定义为父亲 儿子 后代 兄弟等等关系 后代选择器 div p {} 只要是div内部的p都拿到 儿子选择器 div>p {} 只拿内部第一层级的p 毗邻选择器 div+p {} 紧挨着我的同级下一个 弟弟选择器 div~p {} 同级别下面所有的p

3.属性选择器 [] [username] [username=’jason’] input[username=’jason’] ps:标签既可以有默认的书写 id class… 还可以有自定义的书写并且支持多个




<a name="deb66c26"></a>
# 今日内容

- 分组与嵌套
- 伪类选择器
- 伪元素选择器
- 选择器优先级
- css属性相关(操作标签样式)

<a name="69d6e03a"></a>
### 分组与嵌套

```python
div,p,span {  /*逗号表示并列关系*/
            color: yellow;
        }
#d1,.c1,span  {
            color: orange;
        }

伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        body {
            background-color: black;
        }
        a:link {  /*访问之前的状态*/
            color: red;
        }
        a:hover {  /*需要记住*/
            color: aqua;  /*鼠标悬浮态*/
        }
        a:active {
            color: black;  /*鼠标点击不松开的状态  激活态*/
        }
        a:visited {
            color: darkgray;  /*访问之后的状态*/
        }
        p {
            color: darkgray;
            font-size: 48px;
        }
        p:hover {
            color: white;
        }

        input:focus {  /*input框获取焦点(鼠标点了input框)*/
            background-color: red;
        }
    </style>
</head>
<body>
<a href="https://www.jd.com/">小轩在不在?</a>
<p>点我有你好看哦</p>
<input type="text">
</body>
</html>

伪元素选择器

p:first-letter {
            font-size: 48px;
            color: orange;
        }
p:before {  /*在文本开头 同css添加内容*/
            content: '你说的对';
            color: blue;
        }
p:after {
            content: '雨露均沾';
            color: orange;
        }
ps:before和after通常都是用来清除浮动带来的影响:父标签塌陷的问题(后面马上讲)

选择器优先级

"""
id选择器
类选择器
标签选择器
行内式

"""
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <style>
        /*
            1.选择器相同 书写顺序不同
                就近原则:谁离标签更近就听谁的
            2.选择器不同 ...
                行内 > id选择器  > 类选择器 > 标签选择器
                精确度越高越有效
        */
        #d1 {
            color: aqua;
        }
        /*.c1 {*/
        /*    color: orange;*/
        /*}*/
        /*p {*/
        /*    color: red;*/
        /*}*/
    </style>
<!--    <link rel="stylesheet" href="mycss1.css">-->
</head>
<body>
    <p id="d1" class="c1" style="color: blue">贤妻果然很识趣,有前途~</p>
</body>
</html>

css属性相关

<style>
        p {
            background-color: red;
            height: 200px;
            width: 400px;
        }
        span {
            background-color: green;
            height: 200px;
            width: 400px;
            /*行内标签无法设置长宽 就算你写了 也不会生效*/
        }
</style>

字体属性

p {
            /*font-family: "Arial Black","微软雅黑","...";  !*第一个不生效就用后面的 写多个备用*!*/

            /*font-size: 24px;  !*字体大小*!*/

            /*font-weight: inherit;  !*bolder lighter 100~900 inherit继承父元素的粗细值*!*/

            /*color: red;  !*直接写颜色英文*!*/
            /*color: #ee762e;  !*颜色编号*!*/
            /*color: rgb(128,23,45);  !*三基色 数字  范围0-255*!*/
            /*color: rgba(23, 128, 91, 0.9);  !*第四个参数是颜色的透明度 范围是0-1*!*/

            /*当你想要一些颜色的时候 可以利用现成的工具
                1 pycharm提供的取色器
                2 qq或者微信截图功能
                              也可以多软件结合使用 
            */
        }

文字属性

p {
            /*text-align: center;  !*居中*!*/
            /*text-align: right;*/
            /*text-align: left;*/
            /*text-align: justify;  !*两端对齐*!*/

            /*text-decoration: underline;*/
            /*text-decoration: overline;*/
            /*text-decoration: line-through;*/
            /*text-decoration: none;*/
            /*在html中 有很多标签渲染出来的样式效果是一样的*/
            font-size: 16px;
            text-indent: 32px;   /*缩进32px*/
        }
        a {
            text-decoration: none;  /*主要用于给a标签去掉自带的下划线  需要掌握*/
        }

背景图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        #d1 {
            height: 500px;
            background-color: red;
        }
        #d2 {
            height: 500px;
            background-color: green;
        }
        #d3 {
            height: 500px;
            background-image: url("222.png");
            background-attachment: fixed;
        }
        #d4 {
            height: 500px;
            background-color: aqua;
        }
    </style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
<div id="d3"></div>
<div id="d4"></div>
</body>
</html>

边框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>

        p {
            background-color: red;

            border-width: 5px;
            border-style: solid;
            border-color: green;

        }
        div {
            /*border-left-width: 5px;*/
            /*border-left-color: red;*/
            /*border-left-style: dotted;*/

            /*border-right-width: 10px;*/
            /*border-right-color: greenyellow;*/
            /*border-right-style: solid;*/

            /*border-top-width: 15px;*/
            /*border-top-color: deeppink;*/
            /*border-top-style: dashed;*/

            /*border-bottom-width: 10px;*/
            /*border-bottom-color: tomato;*/
            /*border-bottom-style: solid;*/
            border: 3px solid red;  /*三者位置可以随意写*/

        }
        #d1 {
            background-color: greenyellow;
            height: 400px;
            width: 400px;
            border-radius: 50%;  /*直接写50%即可 长宽一样就是圆 不一样就是椭圆*/
        }
    </style>
</head>
<body>
    <p>穷人  被diss到了  哭泣.png</p>
<div>妈拉个巴子,妈拉个巴子,妈拉个巴子,妈拉个巴子</div>
<div id="d1"></div>
</body>
</html>

display属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        /*#d1 {*/
        /*    !*display: none;  !*隐藏标签不展示到前端页面并且原来的位置也不再占有了 但是还存在于文档上*!*!*/
        /*    display: inline;  !*将标签设置为行内标签的特点*!*/
        /*}*/
        /*#d2 {*/
        /*    display: inline;*/
        /*}*/
        /*#d1 {*/
        /*    display: block;  !*将标签设置成块儿级标签的特点*!*/
        /*}*/
        /*#d2 {*/
        /*    display: block;*/
        /*}*/
        /*#d1 {*/
        /*    display: inline-block;*/
        /*}*/
        /*#d2 {*/
        /*    display: inline-block;  !*标签即可以在一行显示又可以设置长宽*!*/
        /*}*/
    </style>
</head>
<body>
<div style="display: none">div1</div>
<div>div2</div>
<div style="visibility: hidden">单纯的隐藏 位置还在</div>  
<div>div4</div>
<!--<div id="d1" style="height: 100px;width: 100px;background-color: red">01</div>-->
<!--<div id="d2" style="height: 100px;width: 100px;background-color: greenyellow">02</div>-->
<!--<span id="d1" style="height: 100px;width: 100px;background-color: red">span</span>-->
<!--<span id="d2" style="height: 100px;width: 100px;background-color: greenyellow">span</span>-->

<!--<div id="d1" style="height: 100px;width: 100px;background-color: red">01</div>-->
<!--<div id="d2" style="height: 100px;width: 100px;background-color: greenyellow">02</div>-->
</body>
</html>

盒子模型

"""
盒子模型
    就以快递盒为例
        快递盒与快递盒之间的距离(标签与标签之间的距离 margin外边距)
        盒子的厚度(标签的边框 border)
        盒子里面的物体到盒子的距离(内容到边框的距离  padding内边距)
        物体的大小(内容 content)


    如果你想要调整标签与标签之间的距离 你就可以调整margin

    浏览器会自带8px的margin,一般情况下我们在写页面的时候,上来就会先将body的margin去除

"""
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        body {
            margin: 0;  /*上下左右全是0
            /*margin: 10px 20px;  !* 第一个上下 第二个左右*!*/
            /*margin: 10px 20px 30px;  !*第一个上  第二个左右  第三个下*!*/
            /*margin: 10px 20px 30px 40px;  !*上 右 下 左*!*/
        }
        /*p {*/
        /*    margin-left: 0;*/
        /*    margin-top: 0;*/
        /*    margin-right: 0;*/
        /*    margin-bottom: 0;*/
        /*}*/

        #d1 {
            margin-bottom: 50px;
        }


        #d2 {
            margin-top: 20px;  /*不叠加 只取大的*/
        }

        #dd {
            margin: 0 auto;  /*只能做到标签的水平居中*/
        }
        p {
            border: 3px solid red;
            /*padding-left: 10px;*/
            /*padding-top: 20px;*/
            /*padding-right: 20px;*/
            /*padding-bottom: 50px;*/

            /*padding: 10px;*/
            /*padding: 10px 20px;*/
            /*padding: 10px 20px 30px;*/
            /*padding: 10px 20px 30px 40px;*/  /*规律和margin一模一样*/
        }
    </style>
</head>
<body>
<!--    <p style="border: 1px solid red;" id="d1">ppp</p>-->
<!--    <p style="border: 1px solid orange;" id="d2">ppp</p>-->
<!--<div style="border: 3px solid red;height: 400px;width: 400px">-->
<!--    <div id='dd' style="border: 1px solid orange;height: 50px;width: 50px;background-color: blue;"></div>-->
<!--</div>-->

<p>ppp</p>

</body>
</html>

浮动

"""浮动的元素 没有块儿级一说 本身多大浮起来之后就只能占多大"""
只要是设计到页面的布局一般都是用浮动来提前规划好
<style>
        body {
            margin: 0;
        }
        #d1 {
            height: 200px;
            width: 200px;
            background-color: red;
            float: left;  /*浮动  浮到空中往左飘*/
        }
        #d2 {
            height: 200px;
            width: 200px;
            background-color: greenyellow;
            float: right;   /*浮动 浮到空中往右飘*/
        }
</style>

作业

今日作业
必做题
1.日考题总结并整理到个人博客中
2.从头到位敲一遍今天的css选择器及样式代码
选做题
1.尝试着搭建小米导航条(练习浮动 不要求搭的多好看)