zoukankan      html  css  js  c++  java
  • css

    6 day06 CSS

    6.1 显示与隐藏

    6.1.1 display

    none : 表示隐藏,元素不再占领页面空间常用

    block : 表示块级元素的效果。

    Inline : 表示内联元素的效果。

    Inline-block : 表示内联块级元素——块级元素可以水平排列。

    6.1.2 visibility

    hidden : 表示隐藏——元素依然占据页面空间位置。

    Visible : 默认值——表示显示。

    6.2 内容溢出

    概念 - 子元素的范围超出父元素,显示在父元素之外。

    6.2.1 解决溢出——overflow

         * hidden - 表示超出部分隐藏 - 超出部分查看不了

         * scroll - 表示提供显示滚动条 - 不超出也有滚动条

         * auto - 表示自动

           * 如果有超出部分,提供显示滚动条

           * 如果没有超出部分,不提供滚动条

    6.2.2 浮动

    1. 文档流 - 页面中元素的默认排列规则

         * 块级元素 - 垂直排列

         * 内联元素 - 水平排列,自动换行

    2. 浮动 - float

         * none - 默认值,表示不浮动

         * left - 表示左浮动

         * right - 表示右浮动

    3. 特点

         * 兄弟元素

           * 后一个元素设置浮动,不能超过前一个元素

         * 父子元素

           * 子元素设置浮动,不能超出父元素

    6.3 补充页面布局常规知识

    6.3.1 套路(规律)

    * 将表格中的行和列的概念引入页面布局

         * 将盒子模型的概念引入页面布局

           * 默认盒子模型 - content-box

           * 怪异盒子模型 - border-box常用

              * 实际宽度 = width

              * 实际高度 = height

    6.3.2 高度塌陷(浮动的问题BFC(面试题)

    * 高度塌陷的效果

         * 定义两个元素是父子结构,为子元素设置浮动(父元素不设置高度)

       * 注意

         * 高度塌陷的效果是符合父子结构的浮动效果

         * 在实际开发中,不希望出现这种效果

       * 解决方案  BFC(面试题)

         * 什么是 BFC

         * BFC 的开启方式

           * overflow:hidden/auto解决溢出

           * clear:both/left/right - 必须新增一个子元素(最后)

         * BFC 的问题

    6.3.3 position定位

    一、概念

     1  CSS 定位 - 表示的是某个元素在当前页面中的位置

         * 定位一定会有坐标轴的概念出现

            * 一个元素在当前页面的位置,其实就是一个坐标值(x,y)

         * CSS 定位就是将坐标值(x,y)转换成 CSS 中某个具体的属性使用

     2 定位的值

         * static - 默认值,表示静态定位

           * 注意 - 并没有坐标值的概念,按照文档流规则进行定位

         * absolute - 表示绝对定位

         * fixed - 表示固定定位

         * relative - 表示相对定位

      3 开启定位

         * HTML 页面中所有的元素,默认都是不开启定位

           * position:static - 没有坐标值

         * 通过 CSS position 属性开启定位

           * position 的值设置为非 static 的值

     4 偏移量

         * 概念

           * 偏移量 - 某个元素相对于初始位置的移动的距离

           * 一个元素在页面中只有两种移动效果

             * 垂直方向

             * 水平方向

         * 提供四种偏移量

           * top - 表示距离顶部的空间

           * right - 表示距离右边的空间

           * bottom - 表示距离下边的空间

           * left - 表示距离左边的空间

         * 偏移量的作用

           * 同时使用 top left - 常用方式

             * topleft就是坐标轴中的坐标值的概念 - (x,y) = (left,top)

           * 如果使用 bottom right

             * 当前元素定位在页面的底部时 - 使用 bottom

             * 当前元素定位在页面的右边时 - 使用 right

               * 至少可以使用 left 进行替换

    6.3.4 static 默认(不开启定位)

    看上文。

    6.3.5 绝对定位

         * 特点

           * 绝对定位的元素脱离文档流

           * 绝对定位的元素呈现块级效果

           * 只是开启绝对定位,而不设置坐标值的话 - 位置不会发生变化

         * 定位效果

           * 绝对定位的元素的父元素是<body>,相对于页面定位

           * 绝对定位的元素的父元素不是<body>

             * 如果父元素没有开启定位,相对于页面定位

             * 如果父元素开启了定位,相对于父元素定位

     6.3.6 固定定位 - fixed

         * 固定定位是绝对定位的一种特殊定位

         * 固定定位只相对于浏览器窗口定位

     6.3.7相对定位 - relative

         * 注意

           * 开启相对定位的元素并没有脱离文档流

           * top left 的值为 0 时,相对定位的元素位置没有发生任何变化

           * 父元素是否开启定位,并不会影响当前子元素开启定位的效果

         * 定位参考

           * 相对于当前元素在文档流中的位置

     6.3.8 实际开发中的定位 - 父子元素

         * 父元素设置绝对定位,子元素设置绝对定位

         * 父元素设置绝对定位,子元素设置相对定位

         * 父元素设置相对定位,子元素设置相对定位

         * 父元素设置相对定位,子元素设置绝对定位

    父亲相对——不脱离文档流;

    儿子绝对——脱离文档流。

                TODO 讨论定位的四种情况

                TODO 1. 父元素设置绝对定位,子元素设置绝对定位

                TODO    * 父元素的绝对定位相对于当前页面

                TODO      * 设置偏移量时,父元素和子元素同时移动

                TODO      * 可以使用 overflow 解决内容溢出问题

                TODO    * 子元素的绝对定位相对于父元素

                TODO       * 设置偏移量时,只有子元素移动,而父元素不移动

                TODO       * 设置的偏移量超出父元素的范围,出现内容溢出

                TODO 2. 父元素设置绝对定位,子元素设置相对定位

                TODO    * 父元素的绝对定位相对于当前页面

                TODO      * 设置偏移量时,父元素和子元素同时移动

                TODO        * 实际上,子元素相对定位没有发生变化

                TODO      * 可以使用 overflow 解决内容溢出问题

                TODO    * 子元素的相对定位相对于初始文档流的位置

                TODO       * 设置偏移量时,只有子元素移动,而父元素不移动

                TODO       * 设置的偏移量超出父元素的范围,出现内容溢出

                TODO 3. 父元素设置相对定位,子元素设置相对定位

                TODO    * 父或子元素都是相对于初始文档流的位置

                TODO 4. 父元素设置相对定位,子元素设置绝对定位

                TODO    * 父元素的相对定位相对于初始文档流的位置

                TODO    * 子元素的绝对定位相对于父元素

                TODO 在实际开发中

                TODO * 作为父元素的定位,一般都使用相对定位

                TODO   * 不将父元素脱离文档流 - 不会出现覆盖现象

                TODO * 作为子元素的定位,一般都使用绝对定位

                TODO   * 我们对子元素的位置的判断更容易一些

             */

  • 相关阅读:
    利用GetInvalidFileNameChars()得到有效的文件名
    C# 下载远程http文件到本地
    CLR无法从COM 上下文*****转换为COM上下文*****,这种状态已持续60秒。
    Wpf UserControl使用 KeyBinding,失效问题
    C# windows服务知识集锦
    制作Windows服务和安装程序(C#版)
    C语言内存管理
    Python初学注意问题
    msp430学习笔记-USART
    msp430学习笔记-ADC12
  • 原文地址:https://www.cnblogs.com/huifang/p/7067264.html
Copyright © 2011-2022 走看看