当前位置: 首页 > news >正文

css宽高自适应

1. 宽高自适应

举个例子看看什么是宽高自适应,

(1)先正常创建一个div标签,有宽和高:

 结果:

(2)去掉div的宽度,观察结果

 结果:

结果占满了整个屏幕,根据两个结果的对比,取消宽度,宽度就占满了全屏,这就是宽高自适应,会根据页面的需求自动调整宽和高,width不设置或者设置为auto,就是自适应,会根据需要的大小自动调整,一般网页都是这样做,如果设置了具体的数值那么宽度就设定死了。

一般宽度自适应经常用在:导航栏、 通栏布局

高度自适应也是不写或者auto,自适应的高度,都是里面的内容撑开的,里面内容多,高度就高,内容少高度就低,但是如果有时候没内容,高度就很低,在某方面不太美观,我们可以给高度设置一个最小高度,这样即使没有内容,也是有一个最小高度在的,属性为:

min-height:

max-height:

min-width:

max-width:

2. 设置浮动元素的父盒子高度自适应

 代码:

我们设置了四个盒子,上面一个盒子,下面一个盒子,上面父盒子里面有两个子盒子,让子盒子浮动起来,

 结果:

 结果可见,上面那个盒子两个子盒子浮动起来了,然后下面那个盒子就上去了,也就是说当上面两个子盒子浮动起来,他们的父盒子的高度就为0了,两个子盒子撑不开父盒子了,所以下面那个盒子就上去了。我们可以通过伪元素来解决这个问题,也就是设置伪元素来解除标签的浮动,从而实现父标签的高度自适应。

我们先介绍一个伪元素:

代码:

结果:

 解释:这个before就是伪元素,伪元素的写法是:“原标签::伪元素{要加的属性}”:上面代码的含义是在div标签内容前面加上下面的属性,也就是加上aaa文本,并且文本内容是红色的。

伪元素的特点:

1.加上的内容是选不中的,就比如上面结果里的aaa,你是选不中他的;

2.伪元素必须依附在标签身上才能用;

除了before伪元素,还有对应的after伪元素,含义是在某个标签后面加上什么东西。

display:none;不占位隐藏          visibility:hidden;占位隐藏 

所以实现父元素的的高度自适应,加上下面的代码即可:

 结果:

 这样父元素就有高度了,第二个盒子就上不去了。

3. 窗口自适应

代码:

 创建一个盒子,高度和宽度都是100%,这里的百分比都是相对于父标签来讲的,也就是body标签,但是body标签的宽度是浏览器横屏,高度为0,没有东西撑开他高度就为0,所以在这里div盒子设置高度为100%是没有意义的,宽度设置100%,它会根据浏览器窗口的大小变化而变化。

结果:

要是想让盒子的高度有意义,需要再加一段代码,实现窗口自适应,这样盒子的宽和高都能随着浏览器的宽和高变化而变化了:

需要加的代码:

结果:

相关文章:

  • 测试管理三要素
  • Linux Bond 以及Mode 6实验
  • 今日大盘指数查询
  • 深蓝激光slam理论与实践-第五节笔记(基于滤波器的激光slam方法(Grid-based))
  • 深入理解Spark Streaming流量控制及反压机制
  • firewalld防火墙基础
  • [短链接/内推码]生成系统设计
  • 为什么女性应该考虑从事网络安全事业?
  • python k-means聚类算法 物流分配预测实战(超详细,附源码)
  • 源码硬讲HashMap结构及数据结构转换过程(图+文)
  • 优化程序性能
  • 【Java】【集合】集合框架Collection
  • 这些年,我与Google不得不说的那些事儿
  • Opencv——图像模板匹配
  • 【秋招面经】之神策数据
  • 2017年终总结、随想
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android单元测试 - 几个重要问题
  • Android优雅地处理按钮重复点击
  • Apache Spark Streaming 使用实例
  • C++类中的特殊成员函数
  • canvas 绘制双线技巧
  • CSS中外联样式表代表的含义
  • css属性的继承、初识值、计算值、当前值、应用值
  • flask接收请求并推入栈
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • miaov-React 最佳入门
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Promise面试题,控制异步流程
  • Protobuf3语言指南
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 聚簇索引和非聚簇索引
  • 模型微调
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 数据可视化之 Sankey 桑基图的实现
  • 思考 CSS 架构
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 王永庆:技术创新改变教育未来
  • 微信开放平台全网发布【失败】的几点排查方法
  • 微信开源mars源码分析1—上层samples分析
  • 数据库巡检项
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #1014 : Trie树
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (C++)八皇后问题
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .Net 中Partitioner static与dynamic的性能对比