Emojione Area defined textarea didn't except any overwritten CSS 修复
Emojione Area defined textarea didn't except any overwritten CSS fix
我在我的项目中使用最新的表情区。我的 textarea
是这样的:
<textarea id="emojionearea" style="display:none"></textarea>
我正在使用最新的 jQuery v3.4.1 min 库。我的代码是这样的:
$("#emojionearea").emojioneArea();
但是我的问题出现在这里。我无法再更改 textarea
的样式。我尝试了一些 CSS 甚至 !important
来覆盖默认样式,但没有任何反应。我想要以下 CSS:
#emojionearea {
width: 100vw!important;
position: fixed!important;
bottom: 0!important;
}
那么,有什么办法吗?提前致谢。
这样不行。将您的文本区域包含在 div 中并更改 div 的属性以更改文本区域的属性。
$(document).ready(function(){
$("#myTextarea").emojioneArea(
{
pickerPosition :"bottom"
}
);
});
.myDiv{
width:20rem;
height:10rem;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.1/emojionearea.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.1/emojionearea.css" rel="stylesheet"/>
<div class="myDiv">
<textarea id="myTextarea">
</textarea>
</div>
你必须做这样的事情来克服这个问题:
.myCustomCss {
width: 100vw!important;
position: fixed!important;
bottom: 0!important;
}
完成!其余代码没问题。只需将您的 textarea
更新为:
<textarea class="myCustomCss" id="emojionearea"></textarea>
注意:您不能将 CSS 直接添加到您的 textarea
。而是将所有 CSS 嵌套在 class 中,然后在声明其 id 之前将其添加到 textarea
中。为什么?这就是所谓的继承。
在 HTML
文件的顶部添加样式并使用自定义 class 名称覆盖 emojioneArea plugin
的样式
$("#myTextarea").emojioneArea({
pickerPosition: "bottom",
filtersPosition: "bottom",
tonesStyle: "square",
shortnames: true,
tones:false,
search:false,
placeholder: "Message (optional)",
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.2/emojionearea.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.2/emojionearea.css" rel="stylesheet"/>
<style>
.custom{
width:500px;
height:70px;
background-color: rgb(0, 141, 228, 0.1);
}
</style>
<textarea class="custom" id="myTextarea"></textarea>
我在我的项目中使用最新的表情区。我的 textarea
是这样的:
<textarea id="emojionearea" style="display:none"></textarea>
我正在使用最新的 jQuery v3.4.1 min 库。我的代码是这样的:
$("#emojionearea").emojioneArea();
但是我的问题出现在这里。我无法再更改 textarea
的样式。我尝试了一些 CSS 甚至 !important
来覆盖默认样式,但没有任何反应。我想要以下 CSS:
#emojionearea {
width: 100vw!important;
position: fixed!important;
bottom: 0!important;
}
那么,有什么办法吗?提前致谢。
这样不行。将您的文本区域包含在 div 中并更改 div 的属性以更改文本区域的属性。
$(document).ready(function(){
$("#myTextarea").emojioneArea(
{
pickerPosition :"bottom"
}
);
});
.myDiv{
width:20rem;
height:10rem;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.1/emojionearea.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.1/emojionearea.css" rel="stylesheet"/>
<div class="myDiv">
<textarea id="myTextarea">
</textarea>
</div>
你必须做这样的事情来克服这个问题:
.myCustomCss {
width: 100vw!important;
position: fixed!important;
bottom: 0!important;
}
完成!其余代码没问题。只需将您的 textarea
更新为:
<textarea class="myCustomCss" id="emojionearea"></textarea>
注意:您不能将 CSS 直接添加到您的 textarea
。而是将所有 CSS 嵌套在 class 中,然后在声明其 id 之前将其添加到 textarea
中。为什么?这就是所谓的继承。
在 HTML
文件的顶部添加样式并使用自定义 class 名称覆盖 emojioneArea plugin
$("#myTextarea").emojioneArea({
pickerPosition: "bottom",
filtersPosition: "bottom",
tonesStyle: "square",
shortnames: true,
tones:false,
search:false,
placeholder: "Message (optional)",
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.2/emojionearea.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/emojionearea/3.4.2/emojionearea.css" rel="stylesheet"/>
<style>
.custom{
width:500px;
height:70px;
background-color: rgb(0, 141, 228, 0.1);
}
</style>
<textarea class="custom" id="myTextarea"></textarea>