【后端学前端】第三天 css动画 动态搜索框(定位、动态设置宽度)

这篇具有很好参考价值的文章主要介绍了【后端学前端】第三天 css动画 动态搜索框(定位、动态设置宽度)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、学习信息

视频地址:css动画 动态搜索框(定位、动态设置宽度)_哔哩哔哩_bilibili

【后端学前端】第三天 css动画 动态搜索框(定位、动态设置宽度),前端学习,前端,css

2、源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test3</title>
    <link rel="stylesheet" href="http://at.alicdn.com/t/c/font_4156699_i9rfozb6ac.css">
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            width: 100vw;
            height: 100vh;
            background: linear-gradient(to bottom, skyblue, #003462);
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .searchBar {
            width: 400px;
            height: 60px;
            background-color: #ffffff;
            box-shadow: 0 0 10px rgba(0, 0, 0, .4);
            border-radius: 60px;
            position: relative;
            overflow: hidden;
            transition: .5s;
        }
        .icon {
            width: 60px;
            height: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
        }
        .icon i{
            color: dodgerblue;
            font-size: 30px;
        }
        .textInput {
            width: 320px;
            height: 60px;
            position: absolute;
            top: 0;
            left: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: blue;
        }
        .textInput input {
            width: 100%;
            height: 100%;
            border: none;
            outline: none;
            font-size: 18px;
        }
        .clear {
            width: 15px;
            height: 15px;
            position: absolute;
            right: 22%;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .clear i{
            color: #999;
        }
        .goBtn {
            width: 12%;
            height: 60%;
            position: absolute;
            top: 20%;
            right: 0;
            border-radius: 8px;
            outline: none;
            border: none;
            color: #ffffff;
            box-shadow: 0 0 2px rgba(0, 0, 0, .4);
            background: linear-gradient(skyblue, deepskyblue);
            cursor: pointer;
        }
        .searchBar{
            width: 60px;
        }
        .changeWidth{
            width: 400px;
        }
    </style>
    <script>

        window.onload =()=>{
            let searchIcon = document.querySelector(".icon")
            let clearIcon = document.querySelector(".clear")
            let searchBar = document.querySelector(".searchBar")
            let inp = document.querySelector(".inp")

            searchIcon.addEventListener("click",()=>{
                searchBar.classList.toggle("changeWidth")
            })
            clearIcon.addEventListener("click",()=>{
                inp.value=""
            })

        }
    </script>
</head>
<body>
    <div class="searchBar">
        <div class="icon"> <i class="iconfont icon-sousuoxiao"></i></div>
        <div class="textInput">
            <input class="inp" type="text" placeholder="请输入搜索关键字">
            <button class="goBtn">go</button>
            <div class="clear"><i class="iconfont icon-close"></i></div>
        </div>
    </div>
</body>
</html>

 3、怎么实现拉出

通过对大的容器动态设置宽度按,也就是

searchBar 的宽度设置为400px

这里学到一个注意点:在class后的属性会覆盖先写的属性

searchBar的最早宽度是400px,在后面又新定义了一个searchBar的样式为60px

4、 关于<i>

看教程,<i> 定义与文本中其余部分不同的部分,并把这部分文本呈现为斜体文本。

但是在代码中却用图标,在知乎也看到了类似的问题

问题地址:为什么大家都用i标签<i></i>用作小图标? - 知乎

貌似这样不对,但是大家都这样用

5、关于布局

布局一直我想学习的,一直也没总结出什么 

找了一个文章【CSS】CSS布局解决方案(终结版) - 掘金

1.2 页面整体布局

  1. 先分析行模块
  2. 如果一行当中有多个模块,一定要放在同一个父模块中

1.3 单个模块布局

  1. 先给模块宽高背景颜色
  2. 然后再分析模块的文本属性背景其他属性

CSS书写顺序:

  • 位置属性(position, top, right, z-index, display, float等)
  • 大小(width, height, padding, margin)
  • 文本(font, line-height, letter-spacing, color- text-align等)
  • 背景(background, border等)
  • 其他(animation, transition等)

6、缩起来只显示搜索

        .textInput {
            width: 320px;
            height: 60px;
            position: absolute; /*当被设置了绝对定位的元素,在文档流中是不占据空间的*/
            top: 0;
            left: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: blue;
        }

position: absolute; /*当被设置了绝对定位的元素,在文档流中是不占据空间的*/

textInput 不占据空间,最终searchBar的空间会全部给到icon文章来源地址https://www.toymoban.com/news/detail-756696.html

到了这里,关于【后端学前端】第三天 css动画 动态搜索框(定位、动态设置宽度)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端简单动态圣诞树动画(HTML、js、css)

    效果展示:  注释: 整体圣诞树分为3个部分,书的主干、粒子特效、树上的卡片 树上的卡片(重点):每一张卡片上都有一个名字,代表圣诞树的叶子,后面可以根据自己需求更改,比如全部改成喜欢人的名字,在JS代码的第五行内更改内容 树的动态旋转通过js实现、主干是

    2024年02月04日
    浏览(62)
  • 从0开始学前端第三天

    学习内容: 1、JavaScript使用console.log无输出: 仔细检查了一下,在script标签中,加入了type=moudle以后,代码连高亮都没有了,应该是没有执行了。 直接写是有高亮的: 加入那一句以后: 查了查原因:似乎是没有下载什么框架的插件,暂时不能加入“type=\\\"moudle\\\"”这句话。 NO,

    2024年01月18日
    浏览(34)
  • SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录(第三天)动态SQL

    昨天我们深入学习了 Mybatis的核心对象SqlSessionFactoryBuilder , 掌握MyBatis核心配置文件以及元素的使用 ,也掌握MyBatis映射文件及其元素的使用。那么今天我们需要掌握的是更加复杂的查询操作。 学会编写MyBatis中动态SQL 学会MyBatis的条件查询操作 学会MyBatis的更新操作 学会MyBati

    2024年02月11日
    浏览(48)
  • 探索前端动画之CSS魔法

    在现代网页设计中,动画已经成为了吸引用户注意力、提升用户体验的重要手段之一。而在前端开发中,CSS动画是一种常见且强大的实现方式。本篇博客将带你深入探索前端动画中的CSS魔法,通过清晰的思路和完整的示例代码,帮助你掌握如何创建令人惊艳的前端动画效果。

    2024年02月13日
    浏览(43)
  • CSS 使用 SVG 绘制动态皮筋与小球交互动画

    使用 animation 控制 SVG 的 path 属性执行动画 使用 CSS 设置 SVG 部分属性 实现上述代码后,页面效果如下: 完成上述代码后,皮筋就可以开始运动,效果图如下: 完成上述代码后就可以完成所有效果。 完整代码下载

    2024年04月12日
    浏览(40)
  • 【CSS加载动画特效】28种纯CSS实现的加载loading动态特效(附源码)

    今天其实还是有点期待6月份城市赛道的成绩公布,但是可能因为出现城市太多等问题,官方也还在快马加鞭的统计中,我也趁机再发一篇前端的文章了,其实在很多系统里面我们都看到过各种各样的加载中样式,但是总有些显得平平无奇,今天我就统计了28种load加载动画特效

    2024年02月15日
    浏览(60)
  • 前端三剑客 —— CSS (第三节)

    目录 上节回顾: 1.CSS使用有以下几种样式; 2.选择器         1.基本选择器         2.包含选择器         3.属性选择器 []         4.伪类选择器 :         5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变

    2024年04月08日
    浏览(49)
  • 前端css/less绕椭圆轨道旋转动画 带遮挡效果 3D

    效果如图,多个物体在轨道上绕中心物体旋转,当旋转到物体后面时将被遮挡。主要使用css实现,为了简化代码,引入less进行处理。 本质上是使用动画控制轨道带动内部的物体进行旋转,计算出每个物体在椭圆轨道上的位置,使用绝对定位放置物体。由于轨道上物体有多个

    2024年02月03日
    浏览(87)
  • 【Web前端开发基础】CSS3之空间转换和动画

    目标:使用transform属性实现元素在空间内的位移、旋转、缩放等效果 1.1 概述 空间:是从坐标轴角度定义的。x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同 空间转换也叫3D转换 属性:transform 2D转换能够改变元素X轴和Y轴方向特性,3D转换还能改变Z轴方向特

    2024年01月25日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包