html - css3 "new"样式 flexbox 无法在 chrome 中拉伸(stretch)文本区域

标签 html google-chrome css flexbox

我无法让 css3 灵活的盒子布局模型在最新的 chrome 中工作,例如:

<!DOCTYPE html>
<html lang="en">
  <head>
      <style type="text/css">
        body { 
            background: #FFF;
        }

        div.content {
            position: fixed;
            width: 50%;
            height: 80%;
            top: 10%;
            left: 25%;
            padding: 10px;
            background-color: #FFFFFF;
            box-shadow: 0px 0px 25px 5px #333333;
            border-radius: 10px;

            display: -webkit-flex;
            -webkit-flex-flow: column;
            -webkit-align-items: stretch;
        } 

        div.content > * {
            -webkit-flex: 1 1 auto;
            padding: 10px;
            margin: 10px;
            background-color: #FFFFFF;
            border: 2px solid gray;
            height:0;
        }
      </style>
  </head>
  <body>
    <div class="content">
      <div>
          <label>label content</label>
      </div>

      <textarea>Text area test</textarea>

      <div></div>

      <input type="text" value="input field" />
    </div>
  </body>
</html>​

(jsfiddle 的)

在上面的示例中,所有元素都在主轴上正确 flex ,div 和 span 也在横轴上正确拉伸(stretch),但是输入和文本区域在横轴上没有正确拉伸(stretch)。根据specification ,他们应该。

我不是在寻找变通办法,而是想知道我是否做错了什么或者我在规范中遗漏了什么会阻止它工作的东西。

最佳答案

Textareas 和 input 标签不会自动继承 flexbox 的 max-width 属性,因为它们不是框模型的一部分。为了让它们充当一个 div,你需要将它们包裹在一个 div 中并给它们 100% 的宽度。这适用于当前版本的 Chrome 和 Canary。

http://jsfiddle.net/nKzhk/29/

 textarea {
        width: 100%;
    }

<div class="content">
  <div>
      <label>label content</label>
  </div>

    <div><textarea>Text area test</textarea></div>

  <div></div>

    <div><input type="text" value="input field" /></div>
</div>

关于html - css3 "new"样式 flexbox 无法在 chrome 中拉伸(stretch)文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224520/

相关文章:

javascript - 使用 jquery 隐藏 'this' 和另一个元素

javascript - 尝试通过 selenium 访问 highcharts 时超出最大调用堆栈大小

google-chrome - Chrome开发者工具: View Console and Sources views in separate views/vertically tiled?

css - 如何将两个 DIV 垂直堆叠在另外两个水平 DIV 旁边?

javascript - 如果页面上不存在 Div 类,则显示 SweetAlert 弹出窗口

javascript $(window).width() 属性在 Internet Explorer 中不起作用

HTML/CSS 仅适用于第一个和最后一个目标

Javascript 在 FF 和 IE 中工作..但 Chrome 说 "cannot call method of null"!

html - bootstrap well 在小屏幕上显示多行

css - 菜单悬停行为不正确,子菜单悬停消失