Bootstrap

html -- 总结 8(小白)

元素的显示与隐藏

<!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: 200px;
            height: 200px;
            background-color: #ff0101;

            /* 通过display 隐藏元素 不保留位置 */
            display: none;

            /* visibility  能见度 可见性  hidden 隐藏 */
            visibility: hidden;

            /* 通过visibility 隐藏元素 保留位置 */
            overflow: hidden;
            /* 溢出隐藏 */
        }
        
        .smbox {
            width: 200px;
            height: 200px;
            background-color: #eeff01;
        }
    </style>
</head>

<body>
    <div class="box">
        123123123hiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhiddenhidden123123123
    </div>
    <div class="smbox"></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>
        li {
            width: 150px;
            height: 150px;
            border: 1px solid red;
        }
        
        .box1 {
            /* 鼠标默认样式 */
            cursor: default;

            /* 通过css  实现阻止鼠标效果  hover  active  js添加的事件 */
            pointer-events: none;
        }
        
        .box2 {
            /* 小手 */
            cursor: pointer;

            /* 轮廓 所在的位置 在外边距上  不算做盒子的大小  使用方法和边框线一样 */ 
            outline: 10px solid blue;
            margin: 10px;
        }
        
        .box3 {
            /* 移动 */
            cursor: move;

            /* 所谓的  垂直方向  就是  让图片的底部和文字的底部对齐 */
            vertical-align: middle;
        }
        
        .box4 {
            /* 文本 */
            cursor: text;
        }
        
        .box5 {
            /* 禁止 */
            cursor: not-allowed;
        }
        
        li:hover {
            background-color: #35f7a6;
        }
    </style>
</head>

<body>
    <ul>
        <li class="box1">默认样式</li>
        <li class="box2">小手</li>
        <li class="box3">移动</li>
        <li class="box4">文本</li>
        <li class="box5">禁止</li>
    </ul>
</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: 300px;
            height: 60px;
            border: 1px solid red;
            /* 溢出文字隐藏代码 */

            /*1. 当前文本的显示模式  强制文本在一行显示 */
            white-space: nowrap;
            
            /* 2.将溢出部分隐藏 */
            overflow: hidden;

            /* 3.将超出的文本使用省略号代替 */
            text-overflow: ellipsis;
        }
    </style>
</head>

<body>
    <div class="box">
        “中国奥运首金呼之欲出的最新相关信息,运动健儿们正以昂扬的姿态。”
    </div>
</body>

</html>

BFC

BFC(Block formatting context)直译为"块级格式化上下文"。

在官方文档到中介绍:一个BFC区域包含创建该上下文元素的所有子元素,BFC是一块块独立的渲染区域,可以将BFC看成是元素的一种属性,拥有了这种属性的元素就会使他的子元素与世隔绝,不会影响到外部其他元素。

如何创建BFC

  1. html根元素

  2. 设置浮动,float的值是left或者right

  3. 设置定位

    • position不是static或者relative

    • 是absoulte或者fixed

  4. display的值是inline-block,table-cell(表格单元格)等

  5. 设置overflow

    • overflow的值不是visible

    • 是hidden,auto,scroll

  6. 弹性布局,flex

利用BFC解决问题

  1. 解决外边距的塌陷问题(垂直塌陷)

  2. 利用BFC解决包含塌陷

  3. 清除浮动产生的影响

  4. BFC可以阻止标准流元素被浮动元素覆盖

    注意点:

    • 一个BFC区域只包含其子元素,不包括其子元素的子元素。

    • 并不是所有的元素都能成为一块BFC区域,只有当这个元素满足条件的时候才会成为一块BFC区域。

    • 不同的BFC区域之间是相互独立的,互不影响的。利用这个特性我们可以让不同BFC区域之间的布局不产生影响

<!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: 250px;
            height: 250px;
            float: left;
            background-color: #ff0000;
        }
        
        .box2 {
            width: 150px;
            height: 150px;
            background-color: #04fe19;
        }
        
        .box3 {
            width: 150px;
            height: 150px;
            background-color: #0000ff;
            margin-top: 100px;

            /* 父元素加上display:flow-root 没有副作用,但是兼容性差 专门用来触发BFC */
            display: flow-root;
        }
        
        .box4 {
            width: 50px;
            height: 50px;
            background-color: #ff04cd;
        }

    </style>
</head>

<body>
    <div class="box1">
        <div class="box2">
            <div class="box4"></div>
        </div>
    </div>
    <div class="box3"></div>
</body>

</html>
;