宽高自适应以及常见浏览器兼容

2023-11-03 03:32

本文主要是介绍宽高自适应以及常见浏览器兼容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(一)宽度自适应
1.若块级元素宽度不设置,或者设置成100%,都是占据其父级元素的一整行
应用场景:
(1)页面最外层的盒子一般都要占据屏幕的大小,所以宽度100%。
(2)子元素使用百分比表示盒模型任意部分大小的话,代表的是子元素盒模型任意部分尺寸=父元素宽度百分比(除了高度外,子元素高度=父元素高度百分比)==>忽略;
(二)高度自适应

 1.父元素高度由子元素撑开(1)若是子元素都浮动了,父元素不会被撑开解决办法(清除浮动):* 给父元素添加最后一个子元素(块级元素){ height:0;overflow:hidden;clear:both;} 缺点:造成不必要的浪费* 给父元素添加{overflow:hidden;} 缺点:可能造成需要的部分被隐藏掉* 伪元素清除法..clearfix::after{content:"";display:block;height:0;overflow:hidden;visibility:hidden;cl			ear:both;zoom:1;}  ==>base.css(2)预防子元素会没有内容,撑不开父元素的情况解决办法:给父元素添加最小高度min-height。(当内容高度小于最小高度时,按最小高度显示。当内容高度大于最小高度时,			按内容高度显示)兼容写法:{min-height:;_height:;}
2.高度自适应窗口高度body,html{height:100%;}最外层的大盒子{height:100%;}

1.浏览器及内核


ie                  trident
firefox              	gecko
opera               presto
safari、chrome       webkit
chrome、opera       blink

2.浏览器兼容

(1)图片有边框(IE8以下) a>img          img{border:0 none;}
(2)图片有间隙div>img                 img{display:block;}
(3)双倍浮向问题 浮向边的margin会双倍显示(ie6)      {display:inline-block;}做页面避免设置左右的margin
(4)默认高度(16px、ie6)          {font-size:0}    {overflow:hidden;}
(5)表单元素行高不一致   {float}   {vertical-align:middle;} 
(6)表单元素样式不一致      外层嵌套一个元素,将表单元素的样式赋给这个外层元素/a标签模拟
(7)百分比bug(ie6)       平时做页面不要做太满。如果都左浮动,最后一个清除右浮动 clear:leftdisplay:inline-block;===>float(8)高度塌陷:子元素都浮动了,父元素会没有高度 解决办法:两种 
1)给父元素加overflow:hidden;
2)万能清除法/伪类清除法(9)margin塌陷:第一个子元素与父元素存在上间距,如果给第一个子元素加margin-top,	则会错误地渲染到父元素上。   解决办法:四种(10)margin合并:垂直排列摆放,上一个元素的margin-bottom,跟下一个元素的margin-top,	会发生合并,取较大值
解决方法:给上边盒子添加空标签,并给空标签overflow:hidden;(11)透明度opacity:0-1;filter:alpha(opacity=0-100)  (ie)(12)手型	cursor:hand; (ie)cursor:pointer;

这篇关于宽高自适应以及常见浏览器兼容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/335299

相关文章

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A