gpt4 book ai didi

html - 当宽度单位为 % 时 textarea 大小变小,使用像素时工作正常

转载 作者:行者123 更新时间:2023-11-28 14:33:36 24 4
gpt4 key购买 nike

Jsfiddle 链接:https://jsfiddle.net/dhanu10896/ohb3xayn/11/
我有 textarea 和它下面的一条指令,我必须在 textarea 的右下端下方显示该指令,而且文本区域可以调整大小,因此当文本区域的大小增加时指令应该随之调整。

为此,我将文本区域和指令包含在一个 div 中,并使其成为内联 block ,这将占用文本区域的宽度并将指令对齐到右侧。

这在宽度以像素为单位时有效,但当宽度以 %(百分比)为单位时则无效。

代码:

displayCell {
padding: 2px 0 3px 0;
border: 1px solid transparent;
}

.clearfix {
display: block;
}

html form, body form {
font-size: 14px;
line-height: 1.42857;
color: #32363a;
font-family: '72', -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
}
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}

.displayInlineBlock, .inlineBlock {
display: inline-block;
}

html textarea, body textarea {
font-size: 14px;
font-family: '72', -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
font-size: 1rem;
line-height: 1.42857;
font-weight: 400;
appearance: none;
-webkit-appearance: textfield;
-moz-appearance: textfield;
font-size: inherit;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
border-style: solid;
border-width: 1px;
border-color: #89919a;
border-radius: 4px;
color: #32363a;
background-color: #fff;
-webkit-transition: border-color 125ms;
transition: border-color 125ms;
height: 36px;
height: var(--fd-forms-height);
padding-left: 12px;
padding-right: 12px;
width: 100%;
height: 72px;
padding-top: 12px;
}

.displayFlex {
display: flex;
}
html .textareaInstruction, body .textareaInstruction {
flex-grow: 1;
width: 0px;
text-align: right !important;
clear: both;
display: block;
font-size: .85714rem;
line-height: 1.33333;
font-weight: 400;
color: #51555a;
padding: 8px 0;
position: relative;
padding: 0;
}

.formElementInstruction {
color: #666666;
white-space: nowrap;
font-weight: normal;
}
.mr2px {
margin-right: 2px;
}
<html>
<body>

<form>

<h2>
to fix
</h2>
<div class="displayCell clearfix">
<div class="inlineBlock">
<textarea name="description" id="description" style="width:100%;height:100px;width:75%;"></textarea>
<div class="displayFlex">
<div class="formElementInstruction textareaInstruction">
<span class="mr2px" id="text_counter_description">1000</span>left</div>
</div>
</div>
</div>

<h2>
should look like (also try resizing texarea)
</h2>
<div class="displayCell clearfix">
<div class="inlineBlock">
<textarea name="description" id="description"
style="height:100px;width:500px;"></textarea>
<div class="displayFlex">
<div class="formElementInstruction textareaInstruction">
<span class="mr2px" id="text_counter_description">1000</span>left</div>
</div>
</div>
</div>
</form>
</body>
</html>

最佳答案

在包含 block 的文本区域上,您应用了具有设置属性 display: inline-block 的类 inlineBlock div 不会延伸到整个宽度,它会占用空间只有文本区域需要。

此外,当您在 textarea 上设置 style="width:100%;height:100px;width:75%;" 时,它将占其父级的 75%,这里的父级是带有类的 div inlineBlock 所以它将是这个 div 的 75% 而不是设备宽度的 75%。

只设置一次 width 属性,因为最后一次会覆盖第一次。

如果您不想在这些文本区域上设置像素,您可以通过以下方法解决此问题:

.displayInlineBlock, .inlineBlock {
display: inline-block;
min-width: 500px;
}

<textarea name="description" id="description" style="width:100%;height:100px"></textarea>

这是查看工作解决方案的 fiddle 链接 http://jsfiddle.net/aditi17/t2sybfr7/257/

关于html - 当宽度单位为 % 时 textarea 大小变小,使用像素时工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53862758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com