如果在写css样式的时候想让宽高自适应要怎么写,需要注意啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果在写css样式的时候想让宽高自适应要怎么写,需要注意啥相关的知识,希望对你有一定的参考价值。

    是通过百分比来控制宽度;
    width:100%通过百分比自适应宽度。注意;此百分比是相对于父级元素宽度。父级元素宽度1000px;子元素设置百分比;是父级元素的百分比;

2.可以通过块状元素自动占满父级的宽度的特性来实现

div默认display:block;不对div设置宽度。div默认占满父级元素的宽度。


3.flex-box布局,用flex布局的话,非常的方便可以实现多种自适应布局,但是,只适用于移动端,PC端上面只有高版本的浏览器才兼容,低版本的浏览器是不兼容的。

参考技术A 自适应指的就是指其宽度可以根据浏器窗口的大小自动改变其宽度(随浏览器宽度的改变而改变),而不会被浏览器遮住。

宽高自适应,高度塌陷,伪对象选择符

宽高自适应

	网页布局中经常要定义元素的宽和高。但很多时候我们希望元素的大小能够根据窗口或子元素自动调整,这就是pc自适应。
自适应的优点:
	元素自适应在网页布局中非常重要,它能够使网页显示更灵活,可以适应在不同设备、不同窗口和不同分辨率下显示。

宽度自适应

 元素宽度设置为100%。(块元素宽度默认为100%)
 或者不设置宽度(width);(宽度是父元素的宽度)

高度自适应

1)自适应元素高度:height:auto;或者不设置;(是子元素撑开父元素的高度)
2)元素高度自适应窗口高度
   	设置方法:html,body{height:100%;}
	注:如果设置子元素的高度跟随父元素的高度变化而变化,那么父元素必须有高度。
最小高度的自适应
min-height属性能满足:
		1)当内容增加的时候,内容能把容器撑开。
        2)当内容极少或者没有内容的时候,让容器保持一个最小高度。
(IE6浏览器不识别该属性,但是IE6默认会把height解析成最小高度)
最小高度的兼容设置方法:
        1: min-height:300px;_height:300px;
        2: min-height:300px;height:auto!important;height:300px;
            a:高版本浏览器解析顺序:
                min-height能识别,也能识别!important 所有height:auto;权重最高,height:auto 就能把height:300px覆盖。
            b:IE6解析流程:
                min-height不能识别,也不能识别!important , 后写的height:300px;能把height:auto覆盖,

高度塌陷

当子元素有浮动并且父元素没有高度的情况下父元素会出现高度塌陷
高度塌陷的解决方法
1)给父元素添加声明overflow:hidden;
	原理:overflow:hidden;会触发一个BFC(布局逻辑,BFC规定:计算BFC高度时候,浮动元素也参与计算)
	缺点:会隐藏掉定位在当前元素外围的内容
2)在浮动元素下方添加空div,并给该元素添加样式
        div{clear:both; height:0; overflow:hidden;}
    原理:添加的空div添加了clear:both;忽略上方同级添加浮动的元素留出的空间。在父元素最底下显示,撑开父元素高度。
    弊端:形成代码的冗余(出现高度塌陷,添加一个div)    
3)万能清除浮动法
    选择符:after{
                content:“";
                clear:both;
                display:block;
                height:0;
                overflow:hidden;
                visibility:hidden;
				}
visibility:hidden
visibility:hidden;和display:none;的区别:
    1)visibility:hidden;属性会使对象不可见,但该对象在网页会占位置,等于留出了一块空白区域
    2)display:none属性会使这个对象彻底消失不显示,也不再占用位置。
伪对象选择符
1)::after :  在某个元素的后面用css的形式添加内容(图片、文本)。
    语法:选择符::after{content:”文字”;}
         选择符::after{content:url(图片路径);}
    如:div::after{content:url(logo.jpg);}
       div::after{content:"文本内容";} 
2)::before:    在某个元素的前面用css的形式添加内容(图片、文本)。
	 div::before{content:"在其前放内容";}
3)::first-letter 定义对象内第一个字符的样式。
    说明:(该伪元素只能用于块级元素)
4)、::first-line:定义对象内第一行的样式。
	*(该伪元素只能用于块级元素。)

以上是关于如果在写css样式的时候想让宽高自适应要怎么写,需要注意啥的主要内容,如果未能解决你的问题,请参考以下文章

css宽高自适应

Vue中 实现 Echarts 图表宽高自适应

宽高自适应,高度塌陷,伪对象选择符

宽高自适应浏览器兼容和表单高级属性

js实现 iframe 宽高自适应

怎样让iframe中的内容的宽度和高度改变后,dialog的宽高自适应?