zoukankan      html  css  js  c++  java
  • 你不知道的HTML CSS

    水平、垂直居中

    flex布局

    • flex-direction: column;
    • align-items: center;
    • justify-content: center;

    浮动与清除

    如果想把div作为一个元素任意放置,实现复杂的布局,就需要float: left属性。
    但是浮动会将元素移出文档流,父元素无法包裹它,有以下几个方法可选择,而clean: left可以将之后的元素还原,被清除的元素不会被提升到浮动元素的旁边。
    要想强迫父元素包围其浮动的子元素,有三种方式:

    • 为父元素应用 overflow:hidden
    • 浮动父元素(同时你可能需要设置width为100%)
    • 在父元素内容的末尾添加非浮动元素,可以直接在标记中加,也可以通过给父元素添加 clearfix 类来加(当然,样式表中得需要相应的 clearfix 规则)

    定位(Position)

    • 静态定位(static)
      默认值。静态定位下的块级元素会在默认文档流中上下堆叠。静态定位又可理解为未定位。
    • 相对定位(relative)
      相对的是元素原来在文档流中的位置(或者默认位置)。
      这时可以使用px等单位使其位移,不影响其它元素,原始位置被空白填充。
      相对定位的元素成为子元素的定位上下文。
    • 绝对定位(absolute)
      当元素绝对定位时,会从文档流中完全删除。元素位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于初始包含块document,其边界根据偏移属性放置。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。定位元素不会流入其他元素的内容,反之亦然。
      绝对定位用来设置相对于父级定位元素(定位上下文)的位置,比如与css3属性transform: translate(-50%, -50%)配合设置居中。
    • 固定定位(fixed)
      相对于window定位,始终出现在屏幕上。
      固定定位并不常用,最常见的情况是用它创建不随页面滚动而移动的导航元素。

    绝对定位、固定定位的元素完全脱离了常规文档流。

    div分栏、居中演示:

    <template>
        <div>
            <div s-i id='title'>Vue.js</div>
            <div s-float id='abc'>
                <div s-i>
                    <div s-float>
                        <div>A</div>
                        <div>a</div>
                    </div>
                    <div s-float>
                        <div>B</div>
                        <div>b</div>
                    </div>
                </div>
            </div>
    
            <div s-i>END</div>
        </div>
    </template>
    <style>
    div#abc {
         100%;
        position: relative;
        height: 400px;
    }
    div#abc > div {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    div[id=title] {
         100%;
        font-size: 80px;
        text-align: center;
    }
    [s-float] {
        float: left;
        font-size: 80px;
    }
    [s-i] {
        font-style: italic;
        font-weight: bold;
    }
    </style>
    

    全页面覆盖

    <div 
      style="position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999999999;background:#000;font-size:50px;color:#fff">
        <span>安全要加强,大佬说的对</span>
    </div>
    

    全屏

    function isFullscreen() {
      return document.fullscreenElement || document.mozFullScreenElement
        || document.webkitFullscreenElement || document.msFullscreenElement;
    }
    const fullscreenBtn = document.getElementById('fullscreen-btn');
    fullscreenBtn.addEventListener('click', e => {
      fullscreenBtn.blur();
      if (isFullscreen()) {
        if (document.exitFullscreen) document.exitFullscreen();
        else if (document.msExitFullscreen) document.msExitFullscreen();
        else if (document.mozCancelFullScreen) document.mozCancelFullScreen();
        else if (document.webkitExitFullscreen) document.webkitExitFullscreen();
      } else {
        if (document.body.requestFullscreen) document.body.requestFullscreen();
        else if (document.body.msRequestFullscreen) document.body.msRequestFullscreen();
        else if (document.body.mozRequestFullScreen) document.body.mozRequestFullScreen();
        else if (document.body.webkitRequestFullscreen) document.body.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
      }
    });
    

  • 相关阅读:
    经典数组排序方法------快速排序法
    经典数组排序方法------选择排序法,冒泡排序法
    两个非常好的bootstrap模板,外送大话设计模式!
    商场促销-策略模式(和简单工厂模式很像的哇) C#
    代码无错就是优?简单工厂模式 C#
    大话设计模式(C#)
    马加爵遗书 VS 药家鑫遗书
    GIT 常用命令
    Random快速产生相同随机数的原因及解决方案
    JSON WEB TOKEN,简单谈谈TOKEN的使用及在C#中的实现
  • 原文地址:https://www.cnblogs.com/develon/p/12260385.html
Copyright © 2011-2022 走看看