希望子元素撑开父级元素可以使用以下两种方法:
1、父级版元素宽度不固定,父级元素设置为inline-block或者添加float;
2、对父级元素使用min-width,这样只限制了最小的宽度,如果子元素变宽,父级同样会变宽。
3、首先父类元素必须不是相对定位,如果是相对定位宽度就会默认为百分百。所以必须是绝对定位或者fixed。其实设置了这一步,父类的div已经达到要求了。
4、用第三种方法有个不足之处就是,如果子类运用了浮动的话,因为浮动会会脱离文档流,所以不能撑开父类,这时候可以给父类元素加一句overflow:hidden这样就可以让浮动元素也撑开父类。
扩展资料:
当子元素全部浮动时如何解决父元素无法撑开的解决办法:
1、父元素添加高度。
此方法可以将父元素显示出来。
缺点:但当调整子元素高度的时候,若要实现父元素包含子元素的效果,就也要调整父元素高度。实在很麻烦!所以此方法不要用!
2、父元素也添加浮动。
以暴制暴的方法!别人浮起来自己也要跟着一起浮。
缺点:虽然可以解决问题,但是后面要添加有不需要浮动的子元素,则影响其显示。
3、给父元素添加overflow:hidden;
缺点:一旦包含非浮动的子元素,则会影响其显示。
4、给父元素添加一个无关的元素,让添加的无关元素去清除浮动 clean:both;
缺点:添加了一个无关元素,代码阅读受影响。
5、通过伪类来实现,在需要清除浮动的父元素里,添加一个清除浮动的伪类。
推荐此方法,比较高级,而且没有以上缺点。
可能是源代码问题,可以查看源代码,代码不多的,用手机和电脑浏览,注意那个充电头的动画。
1、最好加上浏览器兼容前缀 你的代码transition: all 5s linear 1s,如果你是用在webkit内核的浏览器,最好这样写:
-webkit-transition: all 5s linear 1s
transition: all 5s linear 1s
2、魅族note2上UC,火狐,chrome,魅族自带浏览器均有动画。只有手机Opera没有动画。可以试一下加上针对不同浏览器的css前缀补全。或者在meta里加上浏览器打开h5模式的标识。
最简单的办法是:使用 box-flex 的每一个子元素都加上一句: width: 0%,原因不明,反正有效。具体CSS修改如下:
.test{background:red
display:-webkit-box
width:600px
height:300px
}
.test1{
background:green
-webkit-box-flex:1
width: 0% /* ****加上这一行**** */
}
.test2{
background:blue
-webkit-box-flex:1
overflow: hidden
width: 0% /* ****加上这一行**** */
}
.test3{
background:yellow
-webkit-box-flex:1
width: 0% /* ****加上这一行**** */
}