私はcss flexから始めています。テキストが長すぎると横方向に拡大するのを防ぐことができないcontenteditableを使用するのは苦労します。 私が試着: - クローム - Firefoxの - オペラ - サファリcontenteditable(flexed div内)が展開されないようにする
彼らはすべてのdivが展開するが、私は何を期待しサファリ、作ります。ここで
はHTMLです:
<div class="container">
<div class="column">
<div class="field">
<div class="field_left"></div>
<div class="field_middle" contenteditable="true"></div>
<div class="field_right"></div>
</div>
</div>
<div class="column">
<div class="field">
<div class="field_left"></div>
<div class="field_middle" contenteditable="true"></div>
<div class="field_right"></div>
</div>
</div>
<div class="column">
<div class="field">
<div class="field_left"></div>
<div class="field_middle" contenteditable="true"></div>
<div class="field_right"></div>
</div>
</div>
<div class="column">
<div class="field">
<div class="field_left"></div>
<div class="field_middle" contenteditable="true"></div>
<div class="field_right"></div>
</div>
</div>
</div>
ここ
がCSSです:もちろん
.container
{
width: calc(100% - 34px);
height:185px;
margin-left:17px;
margin-top:17px;
display:flex;
}
.column{
flex:1;
height:186px;
margin-right:1.75%;
}
.column:nth-child(5){
margin-right:0px;
}
.field{
margin-bottom:5px;
display:flex;
width:100%;
}
.field_left{
width:6px;
height:24px;
background:green;
}
.field_middle{
height:24px;
background:red;
width:calc(100% - 13px);
}
.field_right{
width:7px;
height:24px;
background:blue;
}
[contenteditable]
{
display:inline;
white-space: nowrap;
overflow:hidden;
text-overflow: inherit;
-webkit-user-select: auto;
user-select: auto;
-moz-user-select: -moz-text;
}
、HTMLは、このような結果のために(divの中のdiv内のdiv)それほど複雑ではなく保つことができます私ができる限りコードをクリーンにして、デザインが要求するようにそれをあなたに提示することを念頭に置いてください。 しかし、問題を解決することが重要な場合があるので、構造の関連部分を示すことにしました。ここで
は、結果のJSFiddleです:
https://jsfiddle.net/b4er9tLg/2/
あなたはこれらのボックスのいずれかにテキストを入力するとテキストが十分に長い場合、それはそれを含むdiv要素を拡大し、全体的なレイアウトを変更しますページの (ブラウザでそれを行っていない場合、あなたのブラウザは幸せな数です)。
基本的に、私が必要とするのは、全体のデザインが壊れないように、書き込まれたテキストのすべてのブラウザで隠れたオーバーフローのようなものを得ることです。 私はそれを動作させることができません。
ありがとうございました。
あなたは自分の列に幅を追加することはできませんか? https://jsfiddle.net/b4er9tLg/3/ – Pete
私が言ったように、私はフレックスを学んでおり、これまで私が知っていたことについて、私はディスプレイ上のフレックスがすべての列。 私にとって奇妙なことは、コンテナの幅が何であれ、隠されたオーバーフローが彼を凍結から防ぐのに十分ではないという事実です。 –
あなたの '.column'ルールの修正に' min-width:0; 'を追加するだけです。その理由はdupeリンクにあります。そして、ここに更新された手伝いがあります:https://jsfiddle.net/b4er9tLg/4/ – LGSon