【Flex】子元素设置百分比高度生效的解决方法

一、问题描述:

  当使用Flex布局时,子元素设置百分比高度后,如下图没有效果:

二、解决方法:

  父元素必须设置高度,效果如下图:

三、完整代码如下

<!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>
    html,body{
      height: 100%;
      margin:0;
      padding:0;
      background-color:blue;
    }
    .box{
      display: flex;
      height: 100%; /*父元素必须设置高度*/
      background-color: red;
    }
    .content{
      height: 40%; /*子元素设置百分比高度*/
      background-color:green
    }
  </style>
</head>
<body>
  <div class="box">
    <div class="content">11</div>
    <div></div>
  </div>
</body>
</html>

原文地址:https://www.cnblogs.com/xsjs/p/10837719.html

时间: 2024-08-03 01:35:45

【Flex】子元素设置百分比高度生效的解决方法的相关文章

解决:子元素设置margin-top,父元素也受影响的问题

<!doctype html><html> <head> <title>子元素设置margin-top,父元素也受影响</title></head><style type="text/css"> * { margin: 0px; padding: 0px; } .father { width: 500px; height: 800px; background: #ccc; cursor: pointer

子元素设置margin-top,父元素也受影响

外边距合并问题常见于第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距,而且只在标准浏览器下 (FirfFox.Chrome.Opera.Sarfi)产生问题,IE下反而表现良好.例子可以查看下面代码(IE下表现"正常",标准浏览器下查看出现"bug"): <!doctype html> <html> <head> <title>子元素设置margin-top,父元素也受影响</title>

width100%,设置padding或border溢出解决方法

.box { width: 100px; height: 100px; background: red;} .bd { width: 100%; padding: 10px; background: black;} <div class="box"><div class="bd"></div> </div> 如上结构,子元素将会溢出 解决方法:CSS3: 加入box-sizing:border-box;属性即可解决一般

误把Linux运行级别设置为6后的解决方法【转】

本文转载自:http://www.wuji8.com/meta/841011126.html 误把Linux运行级别设置为6后的解决方法 我们知道,Linux有7个运行级别,而运行级别设置为6后,会导致Linux系统刚启动完成就立刻重启,重启后又会立刻重启,如此反复,导致系统不能正常运行.本文笔者和大家分享一下误把Linux运行级别设置为6后如何解决的经验.我们一起开始吧! 工具/原料 装有Linux系统的电脑 方法/步骤 在Linux系统启动读秒的过程中,如下图所示,立刻按下键盘上的“E”键(

CSS关于子元素设置了float属性后父元素高度为0的解释和解决方法

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html lang="en"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8&q

子元素设置浮动样式,父元素高度为0

子元素如果设置了浮动样式,那么它就会脱离文档流,从而导致父元素高度变成0,当然不能说这是一个Bug,float的出现的初衷就是为了实现文字环绕图片来实现图文混排和流式布局,所以只能说这种情况只能是由于浮动样式的特性决定的. 测试用例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

css 子元素设置float,父元素高度塌陷

以div元素为例.div元素的高度会通过内容自动撑开.也就是说,内容有多少,高度就有多高.但是当内部元素设置了float属性之后,会是父元素高度塌陷 <div class="container"> <p>Hello World!Hello World!</p> <div class="clearfix"></div> </div> 清除浮动的方法 父元素底部添加空div,然后在添加属性clear

Flex子元素

order 控制子元素在父容器的顺序 0 任何整数 负数 order:1: flex-grow谁的值大谁空间多,同样的值就平分 flex-grow:1 flex-shrink 设置弹性容器中项目的收缩比率 1  数字  不能负数 flex -basis   伸缩项目分配空间=伸缩容器空间-basis设置的空间-其他子元素的width(若无则为其他内容占的空间) auto   空间按剩余空间平均分 [width] 0  全部空间大小一致 *flex复合元素 flex-grow   flex-shr

子元素设置居中的办法

父元素50%让你的子元素从中线开始,效果是子元素显示在中间偏右, 所以你的子元素要向左偏一点,-50%就是向左偏子元素宽度的一半,这样就居中了