前端基础知识day08

1、设置子元素在父元素中水平垂直都居中:面试题

    1、单纯的盒模型实现

        水平居中:   子元素   margin : 0 auto;
        垂直居中:   父元素   padding-top: calc( (父元素高度 - 子元素的高度) / 2 )【盒子的尺寸会变大】 box-sizing: border-box;


        水平居中:   子元素   margin : 0 auto;
        垂直居中:   子元素   margin-top : (父元素高度 - 子元素的高度) / 2 ;  但是,有可能会出现外边距的传递
                    父元素   border: 1px solid transparent;【盒子的尺寸会变大】 box-sizing: border-box;


    2、单纯的定位实现 = 子绝父相  === 前提 : 一定需要知道父元素和子元素的宽高
        子元素  先添加  position: absolute;
        设置偏移量
                top: calc(父元素高度 - 子元素的高度) / 2)
                left: calc(父元素宽度 - 子元素的宽度) / 2)
        父元素  再添加  position: relative;
            


    3、定位和盒模型综合使用        ====  不一定非要知道父元素的值,但是一定需要知道子元素的宽高
        子元素  先添加  position: absolute;
        设置偏移量
            top: 50%;
            left: 50%;

            margin-top: 移动子元素高度 本身的一半  (负值);
            margin-left: 移动子元素宽度 本身的一半  (负值);


        父元素  再添加  position: relative;

    4、单纯的定位实现   === 父元素和子元素都不需要知道【投机倒把】
        子元素  先添加  position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0;

                margin: auto;

        父元素  再添加  position: relative;

    ..........


2、设置  盒子的内容 水平垂直都居中
    水平居中:   text-align: center;

    垂直居中:   line-height: ___ 高度的值;  【单行文本】
        多行文本的话【额外添加一个盒子 - 给多行文本的盒子添加宽高,再设置盒子 居中】


3、浮动的弊端   === 高度塌陷  === BFC 解决

        BFC(Block Formatting Context)格式化上下文,
    是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器
    可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部

    做什么事情
        解决高度塌陷的方案   ====  面试题: ====== 

            0、直接给父元素添加一个高度
                === 直接添加高度的弊端:  其内部的元素一定 是 固定的个数【给父元素设置的高度,一直都是一成不变的】

            1、 给 浮动元素的  父元素 添加一个属性触发bfc  ====   overflow: hidden;   === 原理  BFC
                核心解决问题是 “查看更多” - 在原来的显示基础上个数的下面 又会 多了一组数据  === 场景
                    此时 如果给盒子添加一个固定的高度,那么点击查看更多时, 多余【超出 设置的高度的部分】 === 溢出

            .........

4、定位的使用场景 【固有的】
    固定定位  === 某个盒子 一直在页面中的某个位置
    粘性定位  === 吸顶 效果

    相对定位  ===  -- 给绝对定位设置参考系 - 一般情况不会单独出现
    绝对定位  ===  -- 在某个盒子中 有一块 特殊的区域 【使用浮动不好处理】 --- 其父元素设置相对定位


5、一级菜单布局方案
    等宽的

    内部等距离的


==========================================================

6、表单的进阶使用
    input   type === text  /  password   / button  / submit / reset
    ----------------------------------------------------------------、

    input   type ===    checkbox    --- 复选框                               
            type ===    radio       --- 单选框 === name 进行创建一组     

    下拉菜单
        select
            option          selected

    文本域输入
        textarea

    上传文件
        input   type === file

                表单字段集
                    <fieldset>   
                        <legend>标题</legend>
                    </fieldset>

    iframe  === 内部嵌入一个网页


    表单属性
        disabled    === 禁止使用    === 一般都是按钮

        checked     === 默认选择    === 单选框和复选框

        selected    === 默认选择    ===下拉菜单


7、表格相关的
    table   === 创建一个表格        cellspacing = 0 【设置单线表格】
        tr  === 行
        td  === 单元格

            align   === 控制水平方向上的对齐    【left  center  right】
            valign  === 控制垂直方向上的对齐    【top  center(middle)  bottom】

            colspan === 水平合并
            rowspan === 垂直合并


    在table 中
        特殊的标签
            caption  === 标题

            col  === 列分组   span=" "  跨列设置


            thead
                tr  
                    th  ====  加粗效果 --- 表格的头部


            tbody

            tfoot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值