我正在尝试在 Vaadin 中进行内联编辑。我认为实现这一点的好方法是设置文本字段的样式,使它们看起来像标签,并在聚焦时切换到文本字段的样式。
是否可以将文本字段设置为看起来像标签?如果可能的话,我怎么能做到?
您可以在自己的主题中覆盖 Vaadin 样式。如果您还没有主题,请在名为 VAADIN 的目录下创建一个目录,themes
并以您的主题名称在主题中创建一个子目录,例如。主题。
瓦丁 6:
setTheme("mytheme")
你的应用程序类myTextField.setStyleName("labelstyle");
你的代码样式.css:
@import "../reindeer/styles.css";
.v-textfield-labelstyle {
background: none repeat scroll 0 0 #F5F5F5;
border-color: #F5F5F5;
border-image: none;
border-left: 1px solid #F5F5F5;
border-radius: 3px 3px 3px 3px;
border-right: 1px solid #F5F5F5;
border-style: solid;
border-width: 1px;
}
瓦丁 7:
@Theme("mytheme")
注释myTextField.setStyleName("labelstyle");
你的代码样式.css:
@import "../reindeer/reindeer.scss";
.mytheme {
@include reindeer;
.v-textfield-labelstyle {
background: none repeat scroll 0 0 #F5F5F5;
border-color: #F5F5F5;
border-image: none;
border-left: 1px solid #F5F5F5;
border-radius: 3px 3px 3px 3px;
border-right: 1px solid #F5F5F5;
border-style: solid;
border-width: 1px;
}
}
java -cp '../../../WEB-INF/lib/*' com.vaadin.sass.SassCompiler styles.scss styles.css
你的主题目录来编译你的主题这个小技巧将为您提供一个类似标签的 TextField,当聚焦时它会变成一个普通的 TextField。
请注意,这仅在使用 Reindeer 主题和默认背景颜色 #F5F5F5 时有效。如果您使用其他主题或背景颜色与原始颜色不同,则必须对其进行一些调整。
文本字段由以下 HTML 表示:
<input type="text" class="v-textfield v-widget" tabindex="0" style="">
应用这个怎么样:如何删除文本/输入框周围的边框(轮廓)?(Chrome)在“v-textfield v-widget”CSS 上?