zoukankan      html  css  js  c++  java
  • 笔记整理--图片放大效果和CSS绘制小三角

    1.图片放大效果,有时候写HTML可能会遇到像下面效果图的情况:当鼠标经过图片时图片放大(或者叫做拉近),鼠标移走时恢复原状;

    作如下分析:

      (1)当鼠标经过时图片会发生状态变化,要用到动态伪类:hover;

      (2)图片放大的时候有溢出情况,此时要隐藏溢出的部分,要用到overflow: hidden属性;

      (3)图片放大和恢复原状有一个过程,图片放大要用到transform: scale(),过程要用到过度动画transition ;

     HTML+CSS实现代码如下:

     <!-- HTML代码 -->
    <div class="box2">
            <div class="box3">
                <img src="./img/sky.jpg" alt="">
            </div>
            <div class="box4">
                仿佛他们的心思,全被灿烂的星空吸引住了。
            </div>
        </div>
     <!-- CSS代码 -->
    <style>
            *{
                margin: 0;
                padding: 0;
                border: none;
            }
            .box2{
                width: 580px;
                height: 480px;
                margin: 100px auto;
                border: 1px solid #ccc;
            }
            .box3{
                /* overflow: hidden; 设置内容溢出box3时 隐藏溢出部分*/
                overflow: hidden;
                cursor: pointer;
            }
            .box3 img{
                width: 100%;
                height: 100%;
                /* transition 过度动画 */
                transition: all 1s linear;
                /* 设置图片为块级元素,清除图片行内级元素带的vertical-align:baseline属性 */
                display: block;
            }
            .box3:hover img{
                /* 放大1.2倍图片 */
                transform: scale(1.2);
            }
        </style>

    效果图:

    扩展:

      transform: scale(x,y);缩放,x和y的取值类型(不支持百分比),数字:1:保持不变;2:放大一倍;0.5:缩小一半;

         transform: scale(2)等同于scaleX(2),scaleY(2) 

      transform: scale(2,0.5)等同于scaleX(2),scaleY(0.5) 

    2.CSS绘制小三角,网站的顶部导航栏有些是有向下小三角的,如下图:

     HTML和CSS代码如下:

      <!-- HTML代码 -->
     <div class="box">
            <ul>
                <li>
                    <a href="#">首页</a>
                    <i class="arrow1"></i>
                </li>
                <li>
                    <a href="#">产品</a>
                    <i class="arrow1"></i>
                </li>
                <li>
                    <a href="#">客户服务</a>
                    <i class="arrow1"></i>
                </li>
                <li>
                    <a href="#">联系我们</a>
                    <i class="arrow2"></i>
                </li>
                <li>
                    <a href="#">更多</a>
                    <i class="arrow2"></i>
                </li>
            </ul>
        </div>
     <!-- CSS代码 -->
     <style>
            *{
                margin: 0;
                padding: 0;
                list-style: none;
            }
            .box{
                width: 1190px;
                height: 30px;
                line-height: 30px;
                margin: 0 auto;
            }
            a{  
                text-decoration: none;
                color: #999;
                font-size: 14px;
            }
            ul li{
                /* 相对定位 */
                position: relative;
                float: left;
                width: 100px;
                margin-right: 20px;
            }
            /* 第一种小三角 */
            .box .arrow1{
                /* 绝对定位 */
                position: absolute;
                top: 14px;
                width: 0;
                height: 0;
                margin-left: 3px;
                border-top: 4px solid #666;
                /* 设置其他边框颜色为透明 */
                border-left: 4px solid transparent;
                border-right: 4px solid transparent;
                border-bottom: 4px solid transparent;
            }
            /* 第二种小三角 */
            .box .arrow2{
                /* 绝对定位 */
                position: absolute;
                top: 14px;
                /* 根据需要改宽高和 border */
                width: 3px;
                height: 3px;
                margin-left: 3px;
                border-right: 1px solid #666;
                border-bottom: 1px solid #666;
                /* 旋转45度 */
                transform: rotate(45deg);
            }
        </style>
  • 相关阅读:
    力扣(LeetCode)验证回文字符串II 个人题解
    力扣(LeetCode)寻找数组的中心索引 个人题解
    力扣(LeetCode)验证回文串 个人题解
    力扣(LeetCode)三个数的最大乘积 个人题解
    力扣(LeetCode)二进制求和 个人题解
    力扣(LeetCode)加一 个人题解
    力扣(LeetCode)整数反转 个人题解
    力扣(LeetCode)颠倒二进制位 个人题解
    力扣(LeetCode)最后一个单词的长度 个人题解
    力扣(LeetCode)学生出勤记录I 个人题解
  • 原文地址:https://www.cnblogs.com/de1921/p/12727761.html
Copyright © 2011-2022 走看看