-webkit- 文本区域在垂直滚动条上丢失顶部和底部填充

2024-01-02

我有一个具有固定宽度和高度并且没有调整大小的文本区域元素,当出现垂直滚动条时,元素的填充(顶部和底部)将被忽略。

这是一个 plnkr 演示:http://plnkr.co/edit/jOeYXqkOZk3FCT24BRrk?p=preview http://plnkr.co/edit/jOeYXqkOZk3FCT24BRrk?p=preview
这种情况仅在 Chrome 中发生(在 Chromium、Linux 版本上测试)。

这是我的 textarea 元素的样式:

textarea{
    background-color: #1c1b1b;
    border-bottom: 3px solid #343434;
    border-radius: 4px;
    color: #fff;
    display: block;
    height: 165px;
    margin-bottom: 21px;
    padding: 10px;
    resize: none;
    width: 90%;
}

*一种解决方案是将 textarea 元素包装在具有特定填充的 div 内,但滚动条不会与该填充重叠,并且看起来有点奇怪。
编辑:好吧,也许它看起来不会像我想象的那么奇怪,但我只是想知道是否有一个更优雅的修复,也许在 css 中。


我尝试根据您自己的提示想出一个解决方法。你说得对,但还没有实施。 :) 我刚刚对你的想法进行了编码。我所做的是将其封装在包装器中,并在伪元素之前和之后设置以隐藏顶部和底部部分。我希望这能解决你的问题。

它还可以在 Chrome、Firefox 以及 IE 中完美运行。

.container {
    width: 90%;
    position: relative;
}
textarea {
	background-color: #1c1b1b;
	border:0;
    border-radius: 4px;
    color: #fff;
    display: block;
    height: 165px;
    margin-bottom: 21px;
    padding: 10px;
    resize: none;
    width: 100%;
	border-radius: 4px;
}
.container:before, .container:after {
	content:'';
    display: block;
    height: 10px;
    background: #1c1b1b;
    position: absolute;
    left: 4px;
    right: 18px;
}
.container:before {
    top: 0px;
}
.container:after {
    bottom: 0px;
}
<div class="container">
    <textarea>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</textarea>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

-webkit- 文本区域在垂直滚动条上丢失顶部和底部填充 的相关文章

随机推荐