从0开始学web-day18

19 篇文章 0 订阅

1.复习
day17复习
2.媒体查询

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        body {
            background: red;
        }
        ul {
            max-width: 1000px;
            height: 200px;
            background: blueviolet;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }
        li {
            width: 23%;
            height: 50px;
            background: palegreen;
            list-style: none;
            
        }
        /* 大于等于300是黄色 */
        @media all and (min-width:300px) {
            body {
                background: yellow;
            }
        }
        /* 设置区间范围 */
        @media all and (min-width:500px) and (max-width:700px) {
            body {
                background: blue;
            }
            ul li {
                width: 46%;
            }
        }
    </style>
</head>
<body>
    <!-- 
        媒体查询注意点
        连接词之间空格的存在
     -->
   <ul>
       <li>1</li>
       <li>2</li>
       <li>3</li>
       <li>4</li>
   </ul> 
</body>
</html>

3.栅格系统

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./shan.css">
</head>
<body>
    <div class="container">
        <div class="col-lg-3 col-md-4 col-sl-6">1</div>
        <div class="col-lg-3 col-md-4 col-sl-6">1</div>
        <div class="col-lg-3 col-md-4 col-sl-6">1</div>
        <div class="col-lg-3 col-md-4 col-sl-6">1</div>
    </div>
</body>
</html>

4.外部样式表的媒体查询

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="red.css">
    <link rel="stylesheet" href="blue.css" media="all and (min-width:400px)">
    <link rel="stylesheet" href="green.css" media="all and (min-width:400px) and (max-width:700px)" >
</head>
<body>
    <div>
        <nav>
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
            </ul>
            <ol>
                <li>登录</li>
                <li>登录</li>
                <li>登录</li>
            </ol>
        </nav>
    </div>
</body>
</html>

5.视口

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 视口 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        body {
            background: red;
        }
        @media all and (min-width:320px) {
            body {
                background: yellow;
            }
        }
        @media all and (min-width:350px) and (max-width:400px) {
            body {
                background: blue;
            }
        }
        @media all and (min-width:410px) and (max-width:500px) {
            body {
                background: green;
            }
        }     
    </style>
</head>
<body>
    
</body>
</html>

6.布局

1.列表布局
        一排显示的个数是n 每个的宽度是iw 空隙是x
            width=一行显示的个数 * 每个的宽度 * 空隙 * 个数-1
            w = n*iw + (n-1)*x

            实现的方式: 1用浮动 然后给父元素设置margin-right负值 前提是父元素没有设置宽度
                        2给每一排最后一个单独设置margin-right:0(不推荐)
                        3弹性盒justify-content:space-between
                        4结构伪类选择器 4n
                        5多列 可以实现瀑布流效果 
        2.双飞翼布局(先加载中间 再加载两端)左右固定 中间自动
        结构里中间先写 再写左右两端 
        3.圣杯布局(先加载中间 再加载左右两端)左右固定 中间自动
        结构里中间先写 再写两端
        4.响应式布局
        能够随着屏幕的改变,改变排版布局
        5.百分比布局 百分比值
        6.网格布局 
        7.rem布局 等比缩放布局

7.多列布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div {
            width: 1000px;
            background: red;
            margin: 0  auto;
            /* 创建多列 */
            column-count: 3;
            /* 设置多列之间的空隙 */
            column-gap: 50px;
            /* 设置中间的边框线 */
            column-rule: 10px solid springgreen;
        }
        h1 {
            /* 设置多列标题所在列 */
            column-span: all;
        }
    </style>
</head>
<body>
    <div>
        <h1>标题字体标题标题字体标题标题字体标题标题字体标题标题字体标题标题字体标题</h1>
        拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊
        拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊
        拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊
        拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊
        拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊
        拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊拥有集成商品基督教才能胡椒粉了数据好久都安静电话费俊

    </div>
</body>
</html>

8.多列实现瀑布流

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        section {
            max-width: 95%;
            margin: 0 auto;
            column-count: 6;
        }
        figure {
            /* 设置多列在哪里中断 */
            break-inside: avoid;
            margin-bottom: 10px;
            
        }
        section figure:hover {
            box-shadow: 0px 0px 4px 4px slategray;
        }
        img {
            width: 100%;
        }
    </style>
</head>
<body>
    <section>
        <figure><img src="./img/pic1.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic2.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic3.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic4.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic5.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic6.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic7.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic8.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic9.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic10.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic11.png"><figcaption>文字信息</figcaption></figure>
        <figure><img src="./img/pic12.png"><figcaption>文字信息</figcaption></figure>
    </section>
</body>
</html>

9.双飞翼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin:0;
            padding: 0;
        }
        .main {
            float: left;
            width: 100%;
            height: 400px;
            background: yellow;
        }
        .left {
            float: left;
            width: 200px;
            height: 100px;
            background: red;
            margin-left: -100%;
        }
        .right {
            width: 180px;
            height: 100px;
            float: left;
            background: blue;
            margin-left: -180px;
        }
        .center {
            height: 150px;
            background: yellowgreen;
            margin-left: 200px;
            margin-right: 180px;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="center">2</div>
    </div>
    <div class="left">1</div>
    <div class="right">3</div>
</body>
</html>

10.圣杯

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .main {
            height: 400px;
            background: yellowgreen;
            padding-left: 200px;
            padding-right: 180px;
        }
        .center {
            width: 100%;
            height: 150px;
            background: yellow;
            float: left;
        }
        .left {
            width: 200px;
            height: 100px;
            background: red;
            float: left;
            margin-left: -100%;
            position: relative;
            left: -200px;
        }
        .right {
            width: 180px;
            height: 100px;
            background: blue;
            float: left;
            margin-left: -180px;
            position: relative;
            right: -180px;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="center">2</div>
        <div class="left">1</div>
        <div class="right">3</div>
    </div>
</body>
</html>

11.其他方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 定位写法 */
       /* * {
            margin: 0;
            padding: 0;
        }
        .center {
            height: 300px;
            background: yellow;
            margin-left: 200px;
            margin-right: 180px;
        }
        .left {
            width: 200px;
            height: 100px;
            background: red;
            position: absolute;
            left: 0;
            top: 0;
        }
        .right {
            width: 180px;
            height: 100px;
            background: blue;
            position: absolute;
            right: 0;
            top: 0;
        } */
        /* 弹性盒 */
        body {
            display: flex;
        }
        .left {
            width: 200px;
            height: 100px;
            background: red;
            order: -1;
        }
        .center {
            flex: 1;
            background: yellow;
            height: 400px;
        }
        .right {
            width: 180px;
            height: 100px;
            background: blue;
        }
    </style>
</head>
<body>
    <div class="center">2</div>
    <div class="left">1</div>
    <div class="right">3</div>
</body>
</html>

12.网格布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div {
            width: 500px;
            height: 300px;
            background: yellow;
            display: flex;
            flex-direction: column;
        }
        header {
            flex: 1;
            background: violet;
            display: flex;
        }
        header p:nth-child(1) { 
            flex: 3;
            background: purple;
        }
        header p:nth-child(2) {
            flex: 2;
            background: pink;
        }
        nav {
            background: red;
            flex: 2;
            display: flex;
        }
        nav p:nth-child(1) {
            flex: 1;
            background: plum;
        }
        nav p:nth-child(2) {
            flex: 3;
            background: powderblue;
        }
        nav p:nth-child(3) {
            flex: 1;
            background: rebeccapurple ;
        }


        section {
            /* 设置网格 */
            display: grid;
            /* 列的宽度 5列每列100px */
            grid-template-columns: repeat(5,100px);
            /* grid-template-columns: 100px 200px 300px; */
            /* grid-template-columns: 100px 1fr 3fr; */
            /* 3行每行100px */
            grid-template-rows: repeat(3,100px);
            /* 划分区域 */
            grid-template-areas: 
                "a1 a1 a1 a2 a2"
                "a3 a4 a4 a4 a5"
                "a3 a4 a4 a4 a6"
            ;
        }
        h2:nth-child(1) {
            background: lightblue;
            grid-area: a1;
        }
        h2:nth-child(2) {
            background: lightsalmon;
            grid-area: a2;
        }
        h2:nth-child(3) {
            background: rgb(163, 38, 157);
            grid-area: a3;
        }
        h2:nth-child(4) {
            background: rgb(11, 175, 79);
            grid-area: a4;
        }
        h2:nth-child(5) {
            background: rgb(190, 137, 22);
            grid-area: a5;
        }
        h2:nth-child(6) {
            background: rgb(114, 131, 67);
            grid-area: a6;
        }
    </style>
</head>
<body>
    <div>
        <header>
            <p>1</p>
            <p>2</p>
        </header>
        <nav>
            <p>1</p>
            <p>2</p>
            <p>
                <span></span>
                <span></span>
            </p>
        </nav>
    </div>

    <section>
        <h2>1</h2>
        <h2>2</h2>
        <h2>3</h2>
        <h2>4</h2>
        <h2>5</h2>
        <h2>6</h2>
    </section>
</body>
</html>

13.单位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        body {
            font-size: 50px;
        }
        div {
            height: 32px;
            background: red;
        }
        header {
            height: 32px;
            background: yellow;
        }
        nav {
            height: 2rem;
            background: blue;
        }
        section {
            height: 10vw;
            background: blueviolet;
        }
        main {
            height: 10vh;
            background: chartreuse;
        }
    </style>
</head>
<body>
    <!-- 
        px:定值 
        em根据自身的font-size计算 如果自身没有就根据离其最近的父级计算 
        rem根据根元素html的font-size计算
        vw视窗宽度的百分比 1vw=视窗宽度的1%
        vh视窗高度的百分比 1vh=视窗高度的1%
        vmin视窗宽高中较小的那个
        vmax视窗宽高中较大的那个
    
    -->
    <div></div>
    <header></header>
    <nav></nav>
    <section></section>
    <main></main>
</body>
</html>

14.shan.css

.container {
    margin: 0 auto;
}
.row {
    display: flex;
    flex-wrap: wrap;
}
@media all and (min-width:1200px) {
    .container {
        max-width: 1200px;
    }
    .col-lg-1 {
        width: 8.3333333333333333%;
    }
    .col-lg-2 {
        width: 16.666666666666666%;
    }
    .col-lg-3 {
        width: 25%;
    }
    .col-lg-4 {
        width: 33.3333333333333333%;
    }
    .col-lg-5 {
        width: 41.6666666666666666%;
    }
    .col-lg-6 {
        width: 50%;
    }
    .col-lg-7 {
        width: 58.3333333333333334%;
    }
    .col-lg-8 {
        width: 66.6666666666666666%;
    }
    .col-lg-9 {
        width: 75%;
    }
    .col-lg-10 {
        width: 83.3333333333333334%;
    }
    .col-lg-11 {
        width: 91.6666666666666666%;
    }
    .col-lg-12 {
        width: 100%;
    }
}
@media all and (min-width:992px) and (max-width:1199px) {
    .container {
        max-width: 1199px;
    }
    .col-md-1 {
        width: 8.3333333333333333%;
    }
    .col-md-2 {
        width: 16.666666666666666%;
    }
    .col-md-3 {
        width: 25%;
    }
    .col-md-4 {
        width: 33.3333333333333333%;
    }
    .col-md-5 {
        width: 41.6666666666666666%;
    }
    .col-md-6 {
        width: 50%;
    }
    .col-md-7 {
        width: 58.3333333333333334%;
    }
    .col-md-8 {
        width: 66.6666666666666666%;
    }
    .col-md-9 {
        width: 75%;
    }
    .col-md-10 {
        width: 83.3333333333333334%;
    }
    .col-md-11 {
        width: 91.6666666666666666%;
    }
    .col-md-12 {
        width: 100%;
    }   
}
@media all and (min-width:768px) and (max-width:991px) {
    .container {
        max-width: 991px;
    }
    .col-sl-1 {
        width: 8.3333333333333333%;
    }
    .col-sl-2 {
        width: 16.666666666666666%;
    }
    .col-sl-3 {
        width: 25%;
    }
    .col-sl-4 {
        width: 33.3333333333333333%;
    }
    .col-sl-5 {
        width: 41.6666666666666666%;
    }
    .col-sl-6 {
        width: 50%;
    }
    .col-sl-7 {
        width: 58.3333333333333334%;
    }
    .col-sl-8 {
        width: 66.6666666666666666%;
    }
    .col-sl-9 {
        width: 75%;
    }
    .col-sl-10 {
        width: 83.3333333333333334%;
    }
    .col-sl-11 {
        width: 91.6666666666666666%;
    }
    .col-sl-12 {
        width: 100%;
    }
}
【基于Python的大麦网自动抢票工具的设计与实现】 随着互联网技术的发展,网络购票已经成为人们生活中不可或缺的一部分。尤其是在文化娱乐领域,如音乐会、演唱会、戏剧等活动中,热门演出的门票往往在开售后瞬间就被抢购一空。为了解决这个问,本论文探讨了一种基于Python的自动抢票工具的设计与实现,旨在提高购票的成功率,减轻用户手动抢票的压力。 Python作为一种高级编程语言,因其简洁明了的语法和丰富的第三方库,成为了开发自动化工具的理想选择。Python的特性使得开发过程高效且易于维护。本论文深入介绍了Python语言的基础知识,包括数据类型、控制结构、函数以及模块化编程思想,这些都是构建抢票工具的基础。 自动化工具在现代社会中广泛应用,尤其在网络爬虫、自动化测试等领域。在抢票工具的设计中,主要利用了自动化工具的模拟用户行为、数据解析和定时任务等功能。本论文详细阐述了如何使用Python中的Selenium库来模拟浏览器操作,通过识别网页元素、触发事件,实现对大麦网购票流程的自动化控制。同时,还讨论了BeautifulSoup和requests库在抓取和解析网页数据中的应用。 大麦网作为国内知名的票务平台,其网站结构和购票流程对于抢票工具的实现至关重要。论文中介绍了大麦网的基本情况,包括其业务模式、用户界面特点以及购票流程,为工具的设计提供了实际背景。 在系统需求分析部分,功能需求主要集中在自动登录、监控余票、自动下单和异常处理等方面。抢票工具需要能够自动填充用户信息,实时监控目标演出的票务状态,并在有票时立即下单。此外,为了应对可能出现的网络延迟或服务器错误,工具还需要具备一定的错误恢复能力。性能需求则关注工具的响应速度和稳定性,要求在大量用户同时使用时仍能保持高效运行。 在系统设计阶段,论文详细描述了整体架构,包括前端用户界面、后端逻辑处理以及与大麦网交互的部分。在实现过程中,采用了多线程技术以提高并发性,确保在抢票关键环节的快速响应。此外,还引入了异常处理机制,以应对网络故障或程序错误。 测试与优化是确保抢票工具质量的关键步骤。论文中提到了不同场景下的测试策略,如压力测试、功能测试和性能测试,以验证工具的有效性和稳定性。同时,通过对抢票算法的不断优化,提高工具的成功率。 论文讨论了该工具可能带来的社会影响,包括对消费者体验的改善、对黄牛现象的抑制以及可能引发的公平性问。此外,还提出了未来的研究方向,如增加多平台支持、优化抢票策略以及考虑云服务的集成,以进一步提升抢票工具的实用性。 本论文全面介绍了基于Python的大麦网自动抢票工具的设计与实现,从理论到实践,从需求分析到系统优化,为读者提供了一个完整的开发案例,对于学习Python编程、自动化工具设计以及理解网络购票市场的运作具有重要的参考价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值