zoukankan      html  css  js  c++  java
  • CSS魔法(四)常用属性

    元素的显示与隐藏 display、visibility、overflow

    在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是 display、visibilityoverflow

    display: none;隐藏某个元素 不保留位置

    display: block  显示某个元素

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
            display: none;/* display: none隐藏某个元素,不保留位置;display: block显示某个元素 */
        }
        p {
            width: 200px;
            height: 100px;
            background-color: red;
        }
        </style>
    </head>
    <body>
        <div></div>
        <p>测试</p>
    </body>
    </html>
    View Code

    visibility: hidden; 隐藏某个元素 保留位置

    visibility: visible; 显示某个元素

    最常用的是display

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        a {
            display: block;
            width: 448px;
            height: 252px;
            margin: 100px;
            position: relative;
        }
        .mask {
            width: 100%;
            height: 100%;
            background:rgba(0, 0, 0, .4) url(images/arr.png) no-repeat center;
            position: absolute;
            top: 0;
            left: 0;
            display: none; /* 首先正常情况下 是隐藏的*/
        }
    
        /*什么时候出来?  鼠标放到 a 身上    是a 里面的 mask 出来*/
        a:hover .mask { /*:hover  鼠标经过a 然后 a 里面的 mask 就显示出来 所以这里用 后代选择器*/ 
            display: block; /*显示出来*/
        }
    
    
        </style>
    </head>
    <body>
        <a href="#">
            <img src="images/tudou.jpg" height="252" width="448" alt="">
            <div class="mask"></div>
        </a>
        <a href="#">
            <img src="images/tudou.jpg" height="252" width="448" alt="">
            <div class="mask"></div>
        </a>
        <a href="#">
            <img src="images/tudou.jpg" height="252" width="448" alt="">
            <div class="mask"></div>
        </a>
    </body>
    </html>
    View Code

    overflow

    检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。

    visible : 不剪切内容也不添加滚动条。

    auto : 超出自动显示滚动条,不超出不显示滚动条

    hidden : 不显示超过对象尺寸的内容,超出的部分隐藏掉

    scroll : 不管超出内容否,总是显示滚动条

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            div {
                width: 200px;
                height: 200px;
                border: 1px solid red;
                /*overflow: hidden;  溢出隐藏*/
                overflow: scroll;  /*scroll 滚动条 */
                overflow: auto;  /*auto 自动  */
            }
        </style>
    </head>
    <body>
        <div>
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
            文字文字文字文字文字文字文字文字文字文字文字文字文字
        </div>
    </body>
    </html>
    View Code

    鼠标样式cursor

    cursor :  default  小白 

    cursor : pointer  小手 

    cursor : move  移动 

    cursor : text  文本

    textarea

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        input {
            outline: none;  /*取消轮廓线的做法*/
            border: 1px solid #ccc;
            width: 200px;
            height: 25px;
            background: url(images/s.png) no-repeat 180px center;
        }
        textarea {
            resize: none;  /*防止拖拽*/
            outline: none;  /*取消蓝色边框*/
        }
        </style>
    </head>
    <body>
        <input type="text">
        <textarea name="" id="" cols="30" rows="10"></textarea>
    </body>
    </html>
    View Code

    dl标签与table标签

    https://blog.csdn.net/zhenyu5665/article/details/54909686

    vertical-align 垂直对齐

    baseline

    top

    middle

    bottom 

    使用vertical-align: middle可消除缝隙。(产生缝隙的原因是图片默认和文字基线对齐)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        img {
            vertical-align: middle;
            /* display: block; */
        }
        div {
            border: 2px solid red;
        }
        </style>
    </head>
    <body>
        <div>
            <img src="images/tudou.jpg" height="252" width="448" alt=""> 
            my name 
        </div>
    </body>
    </html>
    View Code

     使用display: block将img标签转为块级元素,可消除缝隙。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        img {
            /* vertical-align: middle; */
            display: block;
        }
        div {
            border: 2px solid red;
        }
        </style>
    </head>
    <body>
        <div>
            <img src="images/tudou.jpg" height="252" width="448" alt=""> 
            <!-- my name -->
        </div>
    </body>
    </html>
    View Code

     text-overflow 文字溢出

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        * {
            margin: 0;
            padding: 0;
        }
        body {
            padding: 30px;
        }
        li {
            list-style: none;
            width: 200px;
            height: 30px;
            border: 1px solid pink;
            white-space: nowrap;
            /*1.强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对象才换行*/
            overflow: hidden;  /* 2. 超出的部分 隐藏*/
            text-overflow: ellipsis;  /* 3. 溢出的部分用省略号替代*/
            line-height: 30px;
        }
        </style>
    </head>
    <body>
        <ul>
        <li>文字内容文字内容文字内容文字内容文字内容</li>
        <li>文字内容文字内容文字内容文字内容文字内容</li>
        <li>文字内容文字内容文字内容文字内容文字内容</li>
        <li>文字内容文字内容文字内容文字内容文字内容</li>
        <li>文字内容文字内容文字内容文字内容文字内容</li>
        </ul>
    </body>
    </html>
    View Code

    nowrap禁止文字自动换行

    white-space: nowrap;/*1.强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对象才换行*/
    overflow: hidden;  /* 2. 超出的部分 隐藏*/
    text-overflow: ellipsis;  /* 3. 溢出的部分用省略号替代*/

     精灵技术(sprite)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        span {
            display: inline-block;
            background: url(images/abcd.jpg) no-repeat;
        }
        .aa {
            width: 108px;
            height: 110px;
            background-position: 0 -9px;
    
        }
        .n {
            width: 112px;
            height: 110px;
            background-position: -255px -276px;
        }
        .d {
            width: 97px;
            height: 107px;
            background-position: -363px -8px;
        }
        .y {
            width: 110px;
            height: 110px;
            background-position: -367px -556px;
        }
        </style>
    </head>
    <body>
        <span class="aa"></span>
        <span class="n"></span>
        <span class="d"></span>
        <span class="y"></span>
    </body>
    </html>
    View Code

     滑动门效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        a {
            margin: 100px;
            height: 33px;
            display: inline-block;
            background: url(images/to.png) no-repeat;
            color: #fff;
            text-decoration: none;
            line-height: 33px;
            padding-left: 15px;
        }
        span {
            display: inline-block;
            height: 33px;
            background: url(images/to.png) no-repeat right;
            padding-right: 15px;
        }
        </style>
    </head>
    <body>
        <a href="#">
            <span>首页12345678</span>
        </a>
    </body>
    </html>
    View Code

     微信滑动门

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
        body {
            background: url(images/wx.jpg)  repeat-x; 
        }
        .nav li {
            float: left;
        }
        .nav a {
            /*1. a 左边放 左圆角   但是文字需要往右走 15px*/
            height: 33px;
            line-height: 33px;
            color: #fff;
            text-decoration: none;
            background: url(images/to.png) no-repeat;
            display: inline-block;
            padding-left: 15px;
        }
        .nav  span {
            /*2. span 右边放右圆角   但是文字需要往左走 15px*/
            background: url(images/to.png) no-repeat right;
            display: inline-block;
            height: 33px;
            padding-right: 15px;
    
        }
        /*.nav a:hover {
            background-image: url(images/ao.png);
        }
    
        .nav a:hover span { /*鼠标经过之后 ,span 凹下去
            background-image: url(images/ao.png);
        }*/
    
        .nav a:hover, .nav a:hover span {
            background-image: url(images/ao.png);
        }
        </style>
    </head>
    <body>
        <ul class="nav">
            <li>
                  <a href="#">
                          <span>首页</span>
                  </a>
            </li>
            <li>
                  <a href="#">
                          <span>三个字</span>
                  </a>
            </li>
            <li>
                  <a href="#">
                          <span>新闻客户端</span>
                  </a>
            </li>
        
        </ul>
    </body>
    </html>
    View Code

  • 相关阅读:
    DevExpress RichEditControl 上下翻页功能 z
    DockManager 如何快速隐藏DockPanel z
    DevExpress SpreadSheet报表模板设置 z
    DocumentManager在标签位置显示气泡框 z
    C#,数据类型扩展 z
    [安卓] 6、列表之ArrayAdapter适配
    [安卓] 5、SeekBar拖动条
    [安卓] 4、CheckBox、RadioButton和Toast简单用法
    [安卓] 3、EditText使用小程序
    [安卓] 2、使用2中方法做按钮监听和图片按钮使用
  • 原文地址:https://www.cnblogs.com/cnki/p/9904009.html
Copyright © 2011-2022 走看看