CSS:宽高自适应详解

article/2025/11/9 20:23:34

 

 

宽度自适应的应用
    1.属性:width
    2.属性值:px/%
    3.宽度自适应的特点
        - HTML,BODY表示浏览器,默认是块级元素,宽度是100%
        - 当块级元素不设置宽度或者设置100%的时候,宽度会沾满全屏(通栏效果)
        - 子级是块级元素,不设置宽度的时候会和父级等宽
        - 宽度是没有继承性,只是块级元素的布局规范而已
        - 【重要】当块级元素脱离文档流的时候,宽度由内容决定 => 设置浮动和定位的盒子一定记得要加宽高大小!!! 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>div{width: 100%;height: 62px;background: #232323;}p{height: 30px;background: pink;float: left;}</style>
</head>
<body><div><p>logo</p></div>
</body>
</html>

效果图:

高度自适应的应用
    1.属性:height
    2.属性值:px/%
    3.高度自适应的特点
        - 浏览器的高度默认是0,html,body{height:100%}
        - 设置元素高度为0,盒子的高度就不会显示,添加文本会超出容器范围不会撑大盒子
        - 设置好元素高度为auto或者不写的时候可以做到自适应(高度自适应)
        - 高度设置为100的常见情况
            - html,body{height:100%} 浏览器的默认宽高设置为100% 沾满全屏
            - img{width:100%;height:100%} 百分比是相对单位,相对于父级元素进行计算
    4.需求:有三个盒子
        - 第一个盒子宽度100%,高度100px
        - 第二个盒子
            - 当盒子中无内容的时候保持一个最小高度
            - 当盒子中内容较多的时候可以撑开盒子的高度做到适应
        - 第三个盒子宽度100%,高度100px
    5.最小高度的概念:min-height
        - 第一个作用:height:value作用一样 可以有固定高度
        - 第二个作用:height:auto作用一样 可以做到自适应
    6.最小高度的兼容问题(浏览器历史)
        - 第一款浏览器网景公司(网景领航者NN)
        - 第二次浏览器大战 IE9(及以后)
        - 最小高度不可以在低版本中使用
        - 解决低版本属性解析:_属性:属性值表示只能在低版本中解析
        - height高度在低版本浏览器中是有两个作用 和最小高度的效果是一样的 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>div{width: 300px;/* height: 0; */background: pink}</style>
</head>
<body><div>文本 <br>文本</div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>*{margin: 0;padding: 0;}.box1{height: 100px;background: pink}.box3{height: 100px;background: skyblue}.box2{min-height: 300px;/* 高版本 */_height: 300px; /* 低版本 */background: yellowgreen}/* 公司的新闻列表 */</style>
</head>
<body><div class="box1">第一个盒子</div><div class="box2"><p>000000001</p><p>000000002</p><p>000000003</p><p>000000004</p><p>000000005</p><p>000000006</p><p>000000007</p><p>000000008</p><p>000000009</p><p>000000010</p><p>000000011</p><p>000000012</p><p>000000013</p><p>000000014</p><p>000000015</p><p>000000016</p><p>000000017</p><p>000000018</p></div><div class="box3">第三个盒子</div>
</body>
</html>

最大值最小值的拓展

最大值
        - 最大宽度 max-width:1920px 约束用户屏幕自适应的最大值
        - 最大高度 max-height  判断用户的评论达到一定的高度时候可以实现翻页功能
    最小值
        - 最小宽度 min-width  约束盒子不会往下掉
        - 最小高度 min-height 自适应
    重点:最小宽度和最大宽度(响应式布局-媒体查询) 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><link rel="stylesheet" href="../../03-reset.css"><style>#header{height: 100px;background: pink;/* 最小宽度 屏幕变化的时候最小值是? */min-width: 800px}.box1{width: 300px;height: 100px;background: green;float: left;}.box2{width: 500px;height: 100px;background: blue;float: right;}</style>
</head>
<body><div id="header"><div class="box1">logo</div><div class="box2">导航</div></div>
</body>
</html>

 高度塌陷/高度坍塌
    一.造成原因:父级没有设置高度,子级元素脱离了文档流
    二.解决方法(10多种)
    1.解决方法:给父级元素添加overflow:hidden
        - 原理:设置overflow:hidden触发BFC,BFC中有一条布局规则:浮动元素也会参与高度计算
    2.解决方法:在最后一个子级元素下面添加任意标签(div)  设置样式clear:both
        - 解释:clear清除浮动 left/right/both
        - 原理:清除上方预留出来的所有浮动
        - 优缺点:优点比较方便、缺点增加了无用的标签、代码冗余
    3.万能清除法(不要求理解要求会用)
        - 代码 
            .clear-fix::after{
                content:'';
                display:block;
                width:100%;
                height:0;
                clear:both;
                overflow:hidden;
                visibility:hidden;
            }

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><link rel="stylesheet" href="../../03-reset.css"><style>.box{width: 1000px;/* height: 500px; */border: 10px solid #000;margin: 100px auto;} .box1{width: 300px;height: 300px;background: skyblue;float: left;margin: 10px}.box2{width: 300px;height: 300px;background: yellowgreen;float: left;margin: 10px}.box3{width: 300px;height: 300px;background: purple;float: left;margin: 10px}/* 不成文的规定 *//* .clear-fix{clear: both} *//* .clear-fix::after{content:'';display:block;width:100%;height:0;clear:both;overflow:hidden;visibility:hidden;} */</style>
</head>
<body><div class="box clear-fix"><!-- BFC区域 --><div class="box1"></div><div class="box2"></div><div class="box3"></div></div>
</body>
</html>

万能清除法的解释

一:伪对象选择器/伪元素选择器(伪类选择器进行区别)
    1.选择器::after{content:''} 表示在xx之后添加内容,必须要和content一起搭配使用,可以不写任何内容
    2.选择器::before{content:''} 表示在xx之前添加内容,必须要和content一起搭配使用,可以不写任何内容

    二:关于隐藏的几种用法
    1.display:none 删除元素的显示和结构
    2.visibility:hidden 删除显示方式但是位置还存在

    三:伪对象和伪类之间的区别是什么?
    1.写法上区别:在css2中伪类和伪对象都是一个冒号,在css3中为了区分规定伪对象需要写两个冒号
    2.作用上区别:伪类改变是元素的状态,伪对象不仅可以改变元素状态还可以添加结构(虚拟)

 


http://chatgpt.dhexx.cn/article/HmdHEfkt.shtml

相关文章

陈俊龙:从深度强化学习到宽度强化学习—结构,算法,机遇及挑战

来源&#xff1a;AI科技评论 摘要&#xff1a;如何赋予机器自主学习的能力&#xff0c;一直是人工智能领域的研究热点。 强化学习与宽度学习 如何赋予机器自主学习的能力&#xff0c;一直是人工智能领域的研究热点。在越来越多的复杂现实场景任务中&#xff0c;需要利用深度学习…

网络的宽度对深度学习模型的性能影响

目录 1 为什么需要足够的宽度 2&#xff0c;经典网络的第一层的宽度 3&#xff0c;宽度对模型性能的影响 4 如何更加有效地利用宽度 4.1 提高每一层通道的利用率 4.2 用其他通道的信息来补偿 5 经典网络模型宽度设计方法 5.1 采用多分支网络结构设计 1&#xff09;ResN…

深度学习笔记(七):网络宽度(卷积核个数)的一些想法

文章目录 一、前言二、网络深度的意义三、宽度的意义四、 网络宽度设计4.1 网络宽度的下限在哪&#xff1f;4.2 网络宽度对模型性能的影响4.3 网络宽度和深度谁更加重要&#xff1f; 五、如何加有效地利用宽度&#xff1f;5.1 提高每一层通道的利用率5.2 用其他通道的信息来补偿…

宽度 深度学习 特点对比

宽度 & 深度学习 特点对比 推荐系统模型介绍实验过程与实验结果实验总结 为了提高神经网络的性能&#xff0c;是应该增加宽度呢&#xff1f;还是应该增加深度呢&#xff1f;增加宽度和增加深度各有什么样的效果呢&#xff1f; 本文对论文《Wide & Deep Learning for Re…

为什么是“深度”学习而不是宽度?

为什么是深度而不是宽度&#xff1f; 先说说我个人的理解&#xff0c;如下图所示&#xff0c;圆圈表示神经元&#xff0c;有两种方式。第一种&#xff0c;只有一层神经层&#xff0c;有8个神经元&#xff1b;第二种方式&#xff0c;有两层神经层&#xff0c;分别有2个和4个神经…

宽度学习系统:一种不需要深度结构的高效增量学习系统

宽度学习系统&#xff1a;一种不需要深度结构的高效增量学习系统 本文是对陈俊龙教授团队“Broad Learning System: An Effective and Efficient Incremental Learning System Without the Need for Deep Architecture”的中文综述&#xff0c;原文将在IEEE Transactions on Neu…

网络的宽度如何影响深度学习模型的性能?

大家好&#xff0c;这是专栏《AI不惑境》的第三篇文章&#xff0c;讲述模型宽度与模型性能的关系。 进入到不惑境界&#xff0c;就是向高手迈进的开始了&#xff0c;在这个境界需要自己独立思考。如果说学习是一个从模仿&#xff0c;到追随&#xff0c;到创造的过程&#xff0…

宽度学习代码的一些问题

最近在拜读陈院士的宽度学习论文&#xff0c;受益匪浅&#xff0c;在此先感谢陈院士团队的开源代码&#xff01; 在复现代码的过程中&#xff0c;发现了一些小问题&#xff0c;在此记录&#xff0c;方便自己日后翻阅。 此博客仅代表个人观点&#xff0c;姑且算作个人读书笔记…

DeepLearning | Broad Learning System 宽度学习系统 : 高效增量式浅层神经网络

Broad Learning System (BLS&#xff0c;宽度学习系统)是澳门大学的陈俊龙教授在2017年TNNLS上基于随机向量函数链接神经网络(RVFLNN)和单层前馈神经网络(SLFN)提出的一种单层增量式神经网络。这个模型相比于传统的深层网络模型&#xff0c;它在保证一定精度的同时&#xff0c;…

宽度学习系统(BLS)的原理、变体形式及当前应用(随时更新......)

ABSTRACT 近年来深度学习迅猛在各个研究领域发展发展&#xff0c;新的模型结构不断涌现&#xff0c;且有层数逐渐加深的趋势。然而深度模型往往有数量过于庞大的待优化参数&#xff0c;通常需要耗费大量的时间和机器资源来进行优化&#xff0c;而且不能根据需求及输入的变化进行…

为什么要做深度学习而不是宽度学习?

点击此处返回总目录 前面在深度学习介绍的最后有留下一个疑问。我们为什么要deep learning。 我们说&#xff0c;变深了&#xff0c;参数增多&#xff0c;model变复杂&#xff0c;performance变好&#xff0c;是很正常的。 所以&#xff0c;真…

宽度学习学习笔记

宽度学习笔记 随机向量函数链接网络&#xff08;RVFLNN&#xff09;增强节点权值计算Greville 定理 宽度学习系统&#xff08;Broad Learning System&#xff09;数据处理简单BLS增强节点的增量学习特征节点的增量学习输入的增量学习SVD 参考论文&#xff1a; Broad Learning …

宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习系统

Motivation 深度学习: 1,时间长:由于涉及到大量的超参数和复杂的结构,大多数神经网络的训练过程非常耗时。 2,重新训练:如果要更改神经网络的结构,或者增加样本,深度学习系统将遇到一个完整的重新训练过程。 宽度学习: 1,消除了训练过程长的缺点,并且提供了很好的…

第三十七课.宽度学习

目录 前置内容宽度学习的基本结构&#xff1a;RVFLNN宽度学习系统岭回归 前置内容 深度学习计算量过大&#xff0c;成本过高&#xff0c;因此提出宽度学习&#xff08;BLS&#xff0c;Broad Learning System&#xff09;。我们首先要知道&#xff0c;BLS的网络结构不是固定的&…

宽度学习详解(Broad Learning System)

宽度学习&#xff08;Broad Learning System&#xff09; 1&#xff1a;Introduction1.1&#xff1a;级联相关网络&#xff08;本节来自周志华《机器学习》&#xff09;1.2&#xff1a;随机向量函数连接网络(RVFLNN) 2&#xff1a;宽度学习系统&#xff08;Broad Learning Syst…

七、宽度学习系统Broad Learning System

七、宽度学习系统Broad Learning System 1、宽度学习的发展2、宽度学习系统(BLS)3、 BLS的增量形式1、宽度学习的发展 宽度学习系统(BLS) 的提出最早源于澳门大学科技学院院长陈俊龙和其学生于2018年1月发表在IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS,…

宽度学习(Broad Learning System)

一、宽度学习的前世今生 宽度学习系统&#xff08;BLS&#xff09; 一词的提出源于澳门大学科技学院院长陈俊龙和其学生于2018年1月发表在IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS&#xff0c;VOL. 29, NO. 1 的一篇文章&#xff0c;题目叫《Broad Learnin…

宽度学习(BLS)实战——python复刻MNIST数据集的数据预处理及训练过程

目录 1.宽度学习(Broad Learning System) 2.MNIST数据集 3.复刻MNIST数据集的预处理及训练过程 1.宽度学习(Broad Learning System) 对宽度学习的理解可见于这篇博客宽度学习&#xff08;Broad Learning System&#xff09;_颹蕭蕭的博客-CSDN博客_宽度学习 这里不再做详细…

《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新

本博实时更新《Linux设备驱动开发详解(第3版)》的最新进展。 目前已经完成稿件。 2015年8月9日&#xff0c;china-pub开始上线预售&#xff1a; http://product.china-pub.com/4733972 2015年8月20日&#xff0c;各路朋友报喜说已经拿到了书。 本书已经rebase到开发中的Linu…

linux_设备驱动_设备树

一.什么是DTS&#xff1f;为什么要引入DTS&#xff1f; DTS即Device Tree Source 设备树源码, Device Tree是一种描述硬件的数据结构&#xff0c;它起源于 OpenFirmware (OF)。 在Linux 2.6中&#xff0c;ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/ma…