首页 > 其他分享 >pink前端--小知识点汇总 练手小案例

pink前端--小知识点汇总 练手小案例

时间:2024-03-31 17:04:57浏览次数:22  
标签:pink 知识点 练手 solid margin height width border color

一  用子绝夫相定位模式 : 当鼠标经过时 出现遮罩层

1.1

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .tudou {
            /* 相对定位 */
            position: relative;
            width: 402px;
            height: 220px;
            margin: 30px auto;
        }
        .tudou img {
            width: 100%;
            height: 100%;
        }
        .mask {
            /* 隐藏遮罩层 */
            display: none;
            /* 绝对定位 */
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,.3) url(/前端小案例总和/img/title_sprite.png) no-repeat center;
        }
/* 当我们鼠标经过父盒子时 让里面遮罩层显示 */
      .tudou:hover .mask{
        display: block;
      }

      
    </style>
</head>
<body>
    
    <div class="tudou">
    <div class="mask"></div>
    <img src="img/tudou.png" alt="">
    </div>
</body>
</html>

效果

 

二  精灵图的用法

将多个小背景图片整合到一个大照片中 使用backgroung -position :x,y;来实现定位不同图片位置

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box1 {
            width: 60px;
            height: 60px;
            background-color: pink;
            margin: 100px auto;
            background: url(img/sprites.png) no-repeat -182px 0 ;
        }

        .box2 {
            width: 27px;
            height: 25px;
            margin: 200px auto;
             background: url(img/sprites.png) no-repeat -155px -106px;
        }

    </style>
</head>
<body>
    <div class="box1">

    </div>
    <div class="box2"></div>
</body>
</html>
<!-- 将多个小背景图片整合到一个大照片中
     使用backgroung -position :x,y;来实现定位
     不同图片位置
    字体图标 轻量级 -->

三  css三角形制作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box1 {
            
            width: 0;
            height: 0;
          
            border-top: 20px solid #b9d8ab;
            border-right:20px solid #d3d8ab;
            border-left: 20px solid palegoldenrod;
            border-bottom: 20px solid paleturquoise;

        }
        .box2 {
            width: 0;
            height: 0;
            margin: 100px auto;
            border: 10px solid transparent;
            border-bottom-color: red;
        }
        .box {
           position: relative;
            width: 120px;
            height: 249px;
            background-color: pink;

        }
        .box span {
            position: absolute;
            right: 15px;
            top: -9px;
            height: 0;
            width: 0;
            line-height: 0;
            font-size: 0;
            border: 5px solid transparent;
            border-bottom-color: pink;

        }
        .box3 {
            position: relative;
            height: 200px;
            width: 400px;
            background-color: #d3d8ab;
        }
        .box3 span{
            position: absolute;
            top: 90px;
            right: -40px;
            height: 0;
            width: 0;
            line-height: 0;
            font-size: 0;
            border: 20px solid transparent;
            border-left-color:#d3d8ab;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box">
        <span></span>
    </div>
    <div class="box3">
        <span></span>
    </div>
</body>
</html>

效果

 

四  解决图片底侧空白缝隙问题 vertical-align: middle;

行内块元素会和文字的基线对齐 

  使行内或行内块元素垂直居中 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        img {
            width: 400px;
            height: 300px;
            vertical-align: middle;
        }
    </style>
</head>
<body>
    <!-- 行内块元素会和文字的基线对齐 -->
    <!-- 使行内或行内块元素垂直居中 -->
    <img src="img/erji.jpg" alt="">耳机耳机
    <!-- 解决图片底侧空白缝隙 问题-->
    
</body>
</html>

效果:使文字 居于图片中间

 

五  省略号代替未显示文本

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 150px;
            height: 80px;
            background-color: pink;
            margin: 100px auto;
            /* white-space默认值是normal 表示文字显示不开自动换行 */
            /* 1.强制文字在同一行 */
            white-space: nowrap;
            /* 2.隐藏溢出文字 */
            overflow: hidden;
            /* 3.溢出文字用省略号代替 */
            text-overflow: ellipsis;
        }
        .box1 {
            width: 150px;
            height: 65px;
            background-color: pink;
            margin: 200px auto;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
        }
    </style>
</head>
<body>
    <!-- 强制转化单行文字 -->
    <div class="box">
  啥也不说,但是此处省略一万字呀
    </div>
    <div class="box1">
啥也不说,但是此处省略一万字呀啥也不说,但是此处省略一万字呀啥也不说,
但是此处省略一万啥也不说,
    </div>
</body>
</html>

效果

 

六  margin负值巧妙应用 

当鼠标经过盒子时 边框均匀变色

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      ul li {
        position: relative;
        float: left;
        list-style: none;
        width: 150px;
        height: 200px;
        border: 1px solid red;
        margin-left: -1px;
      }
      /* 盒子没定位 鼠标经过添加相对定位 */
      /* ul li:hover {
            position: relative;
            border: 1px solid blue;
        }*/
      /* 盒子一般是有定位的 */
      ul li:hover {
        z-index: 1;
        border: 1px solid blue;
      }
    </style>
  </head>
  <body>
    <div>
      <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
      </ul>
    </div>
  </body>
</html>

效果 鼠标经过在后一个盒子 盒子变色

 

七 行内块元素应用 写页码

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      .box {
        /* 使盒子整体居中 */
        text-align: center;
        margin: 20px auto;
      }
      .box a {
        display: inline-block;
        width: 36px;
        height: 36px;
        text-align: center;
        line-height: 36px;
        background-color: #f7f7f7;
        border: 1px solid #ccc;
        color: #333;
        text-decoration: none;
      }

      .box .prev {
        width: 80px;
      }
      .box .courrent {
        background-color: #fff;
        border: #fff;
      }
      .box .text {
        height: 32px;
        width: 34px;
        border: 1px solid #ccc;
      }
      .box .anniu {
        width: 45px;
        height: 36px;
        border: 1px solid #ccc;
        font-size: 14px;
        color: #333;
        outline: none;
      }
    </style>
  </head>
  <body>
    <!-- 对于行内块元素 给父盒子text-align:center;
        就可以给里面的所有子盒子水平居中 -->
    <div class="box">
      <a href="#" class="prev">&lt;&lt;上一页</a>
      <a href="#">1</a>
      <a href="#" class="courrent">2</a>
      <a href="#">3</a>
      <a href="#">4</a>
      <a href="#">5</a>
      <a href="#" class="courrent">...</a>
      <a href="#" class="prev">下一页>></a>
      到第
      <input type="text" class="text" />
      页
      <button class="anniu">确定</button>
    </div>
  </body>
</html>

效果

 

八 京东css三角样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            width: 0;
            height: 0;
            border-top: 100px solid #fff;
            border-right: 50px solid #eb1313;
            border-bottom: 0 solid #d4bcaa;
            border-left: 0px solid #dabae6;
        }
        .box2 {
            width: 0;
            height: 0;
            border-color: transparent red transparent transparent;
            border-style: solid;
            border-width: 22px 10px 0 0;
        }

        .box3 {
            
            width: 160px;
            height: 24px;
            text-align: center;
            line-height: 24px;
            border: 1px solid red;
            margin: 100px auto;
            
        }
        .low {
            position: relative;
            float: left;
            width: 90px;
            height: 100%;
            font-weight: 700;
            color: #fff;
            background-color: red;
        }

        .low i {
            position: absolute;
            right: 0;
            top: 0;
            width: 0;
            height: 0;
            border-color: transparent #fff transparent transparent;
            border-style: solid;
            border-width: 24px 10px 0 0;

        }
        .high {

            font-size: 12px;
            color: gray;
            
            text-decoration: line-through;
        }
    </style>
</head>
<body>
    <div class="box">

    </div>
    <div class="box2"></div>
    <div class="box3">
        <span class="low">$1190
            <i></i>
        </span>
        <span class="high">$2990</span>
    </div>
</body>
</html>

效果

 

九 淘宝焦点图

代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      .tb-promo {
        position: relative;
        width: 600px;
        height: 250px;
        margin: 100px auto;
      }
      .tb-promo img {
        width: 100%;
        height: 100%;
      }
      .right {
        right: 0;
      }
      .left {
        left: 0;
      }
      /* 也可以用并集选择器 减少代码 */
      /* 如果一个盒子既有left也有right 只会执行左侧按钮 */
      .left,
      .right {
        position: absolute;
        height: 20px;
        width: 20px;
        text-decoration: none;
        line-height: 20px;
        top: 50%;
        margin-top: -15px;
        background: rgba(0, 0, 0, 0.3);
        text-align: center;
        color: #fff;
      }
    </style>
  </head>
  <body>
    <div class="tb-promo">
      <img src="img/taobao.png" alt="" />
      <a href="#" class="left"><</a>
      <a href="#" class="right">></a>
    </div>
  </body>
</html>

效果

 

十 过度  进度条效果

 谁改变给谁加 是让子盒子变化 所有给子盒子加 。时间后面一定要加上时间单位s 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .box {
        height: 20px;
        width: 250px;
        border: 2px solid red;
        border-radius: 9px;
        padding: 0.5px;
      }
      .du {
        height: 100%;
        width: 50%;
        background-color: red;
        transition: all 0.8s;
        /* 谁改变给谁加 是让子盒子变化 所有给子盒子加 */
        /* 时间后面一定要加上时间单位s */
      }
      /* 让鼠标经过父盒子使 子盒子进度变化 */
      .box:hover .du {
        width: 100%;
        transition: all 0.8;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="du"></div>
    </div>
  </body>
</html>

效果 鼠标在盒子上 进度条逐渐增加

 

标签:pink,知识点,练手,solid,margin,height,width,border,color
From: https://blog.csdn.net/m0_64882756/article/details/137200823

相关文章

  • Java插值查找知识点(含面试大厂题和源码)
    插值查找(InterpolationSearch)是一种改进的二分查找算法,适用于数据分布均匀的有序数组。插值查找的基本思想是,根据要查找的关键字与数组的最大值和最小值之间的比例,预测关键字可能存在的位置,从而跳过一些不可能包含关键字的区间,以此来减少查找所需的比较次数。插值查找的工......
  • Java顺序查找知识点(含面试大厂题和源码)
    顺序查找(SequentialSearch),也称为线性查找,是一种简单直观的查找算法。它通过逐个检查数据集中的每个元素来查找目标值。顺序查找不要求数据集是有序的,因此它适用于任何形式的数据集,包括数组、链表、列表等。顺序查找的工作原理:开始查找:从数据集的起始位置开始。逐个比较:将......
  • 总结UDP协议各类知识点
    前言本篇博客博主将详细地介绍UDP有关知识点,坐好板凳发车啦~一.UDP特点1.无连接UDP传输的过程类似于发短信,知道对端的IP和端口号就直接进行传输,不需要建立连接;2.不可靠传输没有任何的安全机制,发送端发送数据报以后,如果因为网络故障该段无法发送到对方,UDP协议层也不会给应......
  • 计算机填空知识点(3)完
    41.在Excel中,如果要对B1到B6的单元数据求平均值,可在B7单元格键入AVERAGE(B1:B6) 命令;如果是求和呢?SUM(B1:B6)。42.在Excel中,如果要对B1到B6的单元数据求最大值,可在B7单元格键入MAX(B1:B6) 命令;如果是求最小值呢?MIN(B1:B6) 。43.如果要对Excel中某一工作表中的数据进行分类......
  • 京东一面挂在了CAS算法的三大问题上,痛定思痛不做同一个知识点的小丑
    写在开头在介绍synchronized关键字时,我们提到了锁升级时所用到的CAS算法,那么今天我们就来好好学一学这个CAS算法。CAS算法对build哥来说,可谓是刻骨铭心,记得是研二去找实习的时候,当时对很多八股文的内容浅尝辄止,很多深奥的知识点只是知道个概念,源码看的也不深,代码量也不够,京东一......
  • 总结TCP各类知识点
    前言本篇博客博主将详细地介绍TCP有关知识点,坐好板凳发车啦~一.TCP特点1.有连接TCP传输的过程中类似于打电话的各个过程2.可靠传输通过TCP自身的多种机制来保证可靠传输3.面向字节流内容是以字节的方式来进行发送与接收4.缓冲区TCP有接收缓冲区,也有发送缓冲区全双工......
  • 【知识点】hashcode和equals
    哈希计算(Hashing)是一种将数据通过哈希函数(HashFunction)转换成固定长度的值(hashvalue)的过程,是一个通用的计算方式。在Java中的表现就是hashcode()方法,在Object类上,常用于HashMap、HashSet等集合中,用于快速查找、唯一约束等作用。equals()方法是从逻辑上判断两个对象是否相等,如......
  • 网络工程师之路由交换组合配置知识点相关技术方法解析
    网络工程师之路由交换组合配置相关技术方法解析交换机部分配置参数vlanif的配置环回的配置vlanbatch配置允许通过trunk口ospf的配置disospfpeerbdisipconospf带宽:默认100bandwidth-reference10000{所有运行ospf的都改}100/10010000/100备份配置:创......
  • 面试题知识点笔记-MySQL开发
    目录可以使用MySQL直接存储文件(ppt,exel,图像等)吗?什么时候存,什么时候不存?Emoji乱码怎么办?存储的时候有遇到过什么问题吗?如何存储ip地址?长文本如何存储?大段文本如何设计表结构?大段文本查找时如何建立索引?有没有在开发中使用过TEXT,BLOB数据类型日期,时间如何存......
  • 面试题知识点笔记-MySQL日志
    目录MysqI会产生几种日志?binlog作用是什么?redolog作用是什么?undolog作用是什么?Mysql日志是否实时写入磁盘?binlog刷盘机制是如何实现的?redolog刷盘机制是如何实现的?undolog刷盘机制是如何实现的?MySQL的binlog有有几种录入格式?分别有什么区别?Mysq!集群同......