我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

20221017-解婵-css

[复制链接]
美什么鱼 发表于 2022-10-25 19:32:09 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、学习内容
CSS的浮动
传统网页的布局三种方式
        标准流:就是标签按照规定好的默认顺序方式排列
                1、块级元素:块级元素会独占一行,从上而下顺序排序       
                2、行内元素:行内元素会按照顺序,从左到右进行排序,碰到父元素的边缘会自动换行
        浮动:
                为什么需要浮动:
                        有很多情况是标准了无法完成或者不好完成的布局,此时使用浮动会更加方便,浮动可以改变元素标签默认的排列顺序
                浮动的典型应用:
                        可以让镀铬块级元素一行排列显示
                网页布局的准则:
                        多个块级纵向排列找标准流,多个块级元素横向排列找浮动
                浮动的语法:
                        float属性可以创建浮动
                                属性值:left:元素向左浮动
                                        right:元素向右浮动
                                        none:元素不浮动(默认值)
                浮动的特性:
                        1、浮动的元素会脱离标准流(脱标)
                        2、浮动元素会一行显示并且元素顶部对齐
                        3、浮动会具有行内块元素的特性
                        4、浮动的元素不会压住自己下面盒子的文本内容,因为浮动的特性就是为了做到文字环绕的
                浮动布局的注意点:
                        1、浮动和标准流父盒子的搭配
                                先用标准流的父元素排列上下位置,之后内部的子元素采用浮动排列左右位置
                        2、一个元素浮动了,其他的兄弟元素理论上也要跟着浮动
                                浮动的盒子只会影响后面的标准流,不会影响前面的标准流
                清除浮动:
                        为什么要清除浮动
                                如果父盒子没有添加清除浮动,那么子盒子浮动不占位置,父盒子不指定高度的话,后面的标准流会紧挨着父盒子进行排列,所以要清除浮动
                        额外标签法(隔墙法)
                                w3c推荐的做法,但是我们实际工作中基本不用(结尾给块级元素清楚浮动;clear:both;)
                        给父级标签添加overflow属性
                        给父级添加after伪元素
                        父级添加双伪类元素

        定位:
                为什么要用定位?
                        当我们滚动屏幕的时候,定位可以将盒子固定到某个位置
                        某个元素可以自由在合资内移动位置,并且会压住盒子
                定位的使用
                        定位=定位模式+边偏移
                                定位模式用于指定一个元素在盒子内的定位方式,边偏移决定了元素的最终位置
                        定位模式:
                        值                        语义
                        static                        静态定位
                        relative                        相对定位
                        absolute                        绝对定位
                        fixed                        固定定位       
                        sticky                        粘性定位
                        position:static(静态定位)
                                position的默认定位方式,食物定位的意思,没有边偏移,基本不用等于标准流
                        position:relative(相对定位)
                                特点:1、是相对于自己原本的位置进行移动的(参照点是自己原来的位置)
                                        2、原来位置的标准流位置继续占有,后面的盒子依然以标准流的方式来对待他
                                        3、相对位置没有脱标
                        position:absolute(绝对定位)
                                特点:1、如果没有祖先元素或者祖先元素没有定位,则以浏览器为标准进行定位
                                        2、如果祖先元素有定位(相对绝对固定位置)自已最近一级有定位的祖先元素为参考点进行偏移
                                        3、绝对定位不占有原先的位置(脱标)
                                        4、相对定位最大的最用就是给绝对定位当爹的(子绝父相)
                        position:fixed(固定定位)
                                概念:固定定位是元素固定于浏览器可视区域的位置,主要使用的场景:在浏览器页面某个元素需要固定在一个位置,不随屏幕滚动而滚动
                                特点:
                                        1、以浏览器可视窗口为参照点
                                                不跟父元素有关系
                                                不随滚动条滚动
                                        2、固定定位不在占有原来的位置(脱标)
                        position:sticky(粘性定位)
                                概念:是为了网页中元素达到一定的变偏移条件是,停止屏幕滚动效果                                        特点:
                                        1、以浏览器德克士窗口为参照点移动元素
                                        2、不占有位置(脱标)
        定位的叠放次序
        定位模式                是否脱标                移动位置                                                                是否常用
        static                不脱标                不能使用变偏移                                                        很少
        relative                不脱标                相对自身原来位置进行唯一                                                常用
        absolute                脱标                相对于最近一级的有定位的父元素,如果父元素都没有,那么以浏览器为标准                常用
        fixed                脱标                浏览器的可视区域                                                        常用
        sticky                脱标                浏览器的可视区域                                                        很少


                可以使用z-index来控制盒子的前后顺序(网页中的Z轴)
                        数值可以使正整数、负整数、0,默认是auto,数值越大,月考上
                        如果数值相同按照书写顺序,后来者居上
                        数字后面不加单位
                        只有定位的盒子才有Z-index属性
        定位的拓展
                绝对定位的盒子居中
                        加了绝对定位的盒子不能使用margin:0 auto;来水平居中,但可以通过计算来实现
                                1、left:50%;然盒子的左侧移动到父级元素的水平中心位置
                                2、margin-left:-150px;让盒子向左移动自身宽度的一半
                                3、垂直同理
                定位的特殊性
                        1、行内元素添加绝对定位或者固定定位,可以直接设置高度和宽度
                        2、块级元素添加绝对定位或者固定定位,如果不给宽高,默认大小是内容本身的大小
                脱标的盒子不会触发外边距塌陷的问题
                        浮动且对定位/固定定位,元素都不会触发外边距塌陷的问题

字体图标:阿里图标
                       
                       
元素的显示和隐藏
        display:显示与隐藏
                属性值:
                        none:隐藏对象
                        block:显示对象
                display隐藏后不占原本的位置,后期经常与JS在一起使用
        visibility:显示与隐藏
                属性值:
                        hidden:隐藏
                        visible:元素可见
                visibility属性用于指定一个元素的显示与隐藏
                使用visibility:hidden来隐藏元素时,元素仍然占有原来的位置
        overflow:益处显示与隐藏
                属性值
                        visible:显示(不剪切也不添加滚动条)
                        hidden:将超出盒子部分隐藏掉
                        scroll:给盒子添加滚动条(不管内容超没超出父盒子高度都会显示滚动条)
                        auto:给盒子添加滚动条(文本超出父盒子高度则显示滚动条,没超出的话不会显示)

CSS其他技巧
        1、精灵图
                为什么要用精灵图
                        多张小的图片整合成一张大的图片给返回给浏览器,避免重复请求,减轻服务器压力
                精灵图的使用步骤
                        1、获取所需要的小图标大小
                        2、设置一个盒子来放我们需要的小图片,尺寸和我们做需要的小图标大小一致
                        3、background-image:URL();将背景引入盒子
                        4、利用background-position来调整背景图片的位置,已显示我们所需要的图标,注:X和Y轴的像素值一般都是负值,最大是0
        输入框删除外框:
                代码:border:0;
                删除内边框: outline: none;
        2、鼠标的样式
                属性                        样式
                cursor:default                默认的鼠标样式
                cursor:pointer                小手鼠标样式
                cursor:text                输入文本时的鼠标样式
                cursor:move                鼠标拖动时的样式
                cursor:no-allowed                禁止的鼠标样式
        3、文本的上下对齐方式
                vertical-align目的:为了让行内元素或者行内块元素按照不同的方式来进行对齐
                文字的各个线说明
                        顶线、中线、基线、底线
                vertical-align: baseline; 基线对齐(默认)
                vertical-align: bottom; 底线对齐
                vertical-align: middle; 中线对齐
                vertical-align: top; 顶线对齐

                备注:
                        图片的地步有空白的原因:图片默认和文字保持基线对齐,所以下方空白是为了给文字底部预留的空间
                        想让图片与文字沿中线对齐,可以直接使用verticalalign:middle;来实现
        CSS三角制作
                制作三角的步骤:
                        1、设置边框的宽度,样式、颜色设置为透明
                        2、将所需要的边框亚瑟设置为所需要的即可
        CSS省略号制作:
                步骤:
                        1、将文字强制一行显示
                        2、将超出盒子的文字给切掉
                        3、姜切掉的文字用省略号来代替
        CSS滑动门制作
                步骤:
                        1、a标签来实现精灵图左边
                        2、span标签来实现精灵图的右边
                        3、指定padding来城开盒子

二、问题


三、解决方案

回复

使用道具 举报

关注0

粉丝0

帖子29

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026