CSS装饰

1. 垂直对齐方式

解决行内/行内块元素垂直对齐问题

属性名:vertical-align

vertical-align:

baseline 默认 基线对齐

top:顶部对齐

middle:中部对齐 

bottom:底部对齐

(拓展)项目中 vertical-align 可以解决的问题

1. 文本框和表单按钮无法对齐问题

2. input和img无法对齐问题

3. div中的文本框,文本框无法贴顶问题

4. div不设高度由img标签撑开,此时img标签下面会存在额外间隙问题

5. 使用line-height让img标签垂直居中问题

注意点:

• 学习浮动之后,不推荐使用行内块元素让div一行中显示,因为可能会出现垂直对齐问题

• 推荐优先使用浮动完成效果

 <style>
    /* 浏览器遇到行内和行内块标签当做文字处理, 默认文字是按基线对象 */
    input {
      height: 50px;
      box-sizing: border-box;

      vertical-align: middle;
    }

  </style>
</head>
<body>
  <input type="text"><input type="button" value="搜索">
</body>
 <style>
    .father {
      width: 600px;
      height: 600px;
      background-color: pink;
      line-height: 600px;
      text-align: center;
    }

    img {
      vertical-align: top;
    }
  </style>
</head>

<body>
  <div class="father">
    <img src="../images/1.jpg" alt="">
  </div>
</body>

2. 光标类型

场景:设置鼠标光标在元素上时显示的样式

属性名:cursor

常见属性值:默认小箭头

手型 表示可以点击

cursor: pointer;

工字形 表示可以复制

cursor: text;

十字形,表示可以移动

cursor: move;

 <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;

            /* 默认小箭头 */

            /* 手型 表示可以点击*/
            /* cursor: pointer; */

            /* 工字形 表示可以复制 */
            /* cursor: text; */

            /* 十字形,表示可以移动 */
            cursor: move;
        }
    </style>
</head>

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

3. 边框圆角

属性名:border-radius

常见取值:数字+px 、百分比

赋值规则:从左上角开始赋值,然后顺时针赋值,没有赋值的看对角!

正圆:盒子必须是正方形;border-radius:取值盒子宽高的一半

胶囊:盒子必须是长方形:border-radius:取值盒子高度的一半

 <style>
        .box {
            margin: 50px auto;
            width: 200px;
            height: 200px;
            background-color: pink;

            /* 一个值 表示四个角*/
            /* border-radius: 50px; */
            /* 左上角 */
            /* border-top-left-radius: 100px; */
            /* 两个值  左上和右上 没有的值看对角*/
            /* border-radius: 50px 40px; */
            /* 三个值 左上和右上和右下 左下看对角就是右上  */
            border-radius: 50px 40px 30px;


        }
    </style>
</head>

<body>
    <div class="box"></div>
</body>

胶囊状 圆 

<style>
        .one {
            width: 200px;
            height: 200px;
            background-color: pink;

            /* border-radius: 100px; */
            /* 50% 取盒子尺寸的一半 */
            border-radius: 50%;
        }

        /* 胶囊状:长方形 border-radius取值是高度的一半 */
        .two {
            width: 400px;
            height: 300px;
            background-color: skyblue;
            border-radius: 150px;
        }
    </style>
</head>

<body>jiaonang
    <div class="one"></div>
    <div class="two"></div>
</body>

4. overflow溢出部分显示效果

溢出部分显示效果:

overflow:visile 默认溢出部分可见

                 hidden 隐藏

                 scroll 显示滚动条

                 auto 根据是否溢出,自动显示或隐藏滚动条 

<style>
        .box {
            width: 300px;
            height: 300px;
            background-color: pink;

            /* 默认值,溢出部分可见 */
            /* overflow: visible; */

            /* 溢出部分隐藏 工作中最常用 */
            overflow: hidden;

            /* 无论是否溢出,都显示滚动条 */
            /* overflow: scroll; */

            /* 根据是否溢出 自动判断显示是否显示滚动条 */
            /* overflow: auto; */
        }
    </style>
</head>

<body>
    <div class="box">
        我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果我是div,测试溢出显示效果
    </div>
</body>

5. 元素本身隐藏

visibility:hidden; 占位隐藏 工作中不常用

display:none; 不占位隐藏 常用!!! 开发中经常使用display来显示隐藏

隐藏:display:none; 显示:display:block; 

<style>
        div {
            width: 200px;
            height: 200px;
        }

        .one {
            background-color: pink;
            /* 占位隐藏 工作中不常用 */
            /* visibility: hidden; */

            /* 不占位的隐藏 */
            display: none;
        }

        .two {
            background-color: skyblue;
        }

        .father {
            margin: 0 auto;
            width: 500px;
            height: 500px;
            background-color: pink;
        }

        .son {
            display: none;
            width: 200px;
            height: 200px;
            background-color: skyblue;
        }

        .father:hover .son {
            display: block;
        }
    </style>
</head>

<body>
    <div class="one">one</div>
    <div class="two">two</div>

    <div class="father">
        <div class="son"></div>
    </div>
</body>

案例:导航二维码显示隐藏切换案例

 <style>
        * {
            padding: 0;
            margin: 0;
        }

        .nav {
            height: 40px;
            border: 1px solid #ccc;
        }

        .nav ul {
            list-style: none;
            width: 1200px;
            margin: 0 auto;
        }

        .nav li {
            float: left;
            width: 20%;
            height: 40px;
            border-right: 1px solid #ccc;
            box-sizing: border-box;
            text-align: center;
            line-height: 40px;
        }

        .nav .last {
            border-right: none;
        }

        .nav li a {
            /* a标签默认是行内元素,宽高由内容撑开,并且无法设置宽高,此时默认情况用户只能点击文字区域才能调整 */
            /* 如果把a标签转换成块级元素,此时可以设置宽高,会让a标签范围更大,用户可以点击调整的区域也越大 */
            display: block;
            text-decoration: none;
            height: 40px;
            color: #000;
        }

        .nav .app {
            position: relative;
        }

        .nav .app .code {
            position: absolute;
            left: 50%;
            top: 41px;
            display: none;
            transform: translate(-50%);
        }

        .nav li a:hover .code {
            display: block;
        }
    </style>
</head>

<body>
    <div class="nav">
        <ul>
            <li><a href="#">我要投资</a></li>
            <li><a href="#">平台介绍</a></li>
            <li><a href="#">新手专区</a></li>
            <li><a href="#" class="app">手机微金所<img src="./images/code.jpg" alt="" class="code"></a></li>
            <li class="last"><a href="#">个人中心</a></li>
        </ul>
    </div>
</body>

6.元素整体透明度

opacity:0~1之间的的数字 

1表示不透明,0表示完全透明!

是让整个元素透明,包括文字,图片等.......

 <style>
        div {
            width: 500px;
            height: 500px;
            background-color: pink;

            /* 整体透明度 */
            opacity: .5;
        }
    </style>
</head>

<body>
    <div>
        <img src="./images/product.png" alt="">
        12321321
    </div>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值