移动设备上带有分页控件的 vaadin 网格高度
vaadin grid height with pagination controls on mobile devices
我正在使用堆叠在分页工具栏 (vaadin-grid-pagination) 上的 vaadin-grid,我遇到的问题是在移动设备上,分页不位于底部视口作为网格覆盖它。
理想情况下(忽略分页溢出)它看起来像这样:
现在,通过 Dev Tools 检查器,我能够从滚动条中删除一个 position: relative 属性,这让事情按照我想要的方式运行。
问题是我无法以编程方式执行此操作...我尝试使用包含以下内容的自定义 css 文件:
:host() #scroller {
width: 100%;
height: 100%;
position: absolute;
}
并在构建网格的视图中使用它:
@CssImport(value = "./styles/grid-styles.css", themeFor = "vaadin-grid")
不过好像没什么区别
不确定正确的方法是什么,如果有的话。
#1 尝试使用 !important ?
设置位置值
:host() #scroller {
width: 100%;
height: 100%;
position: absolute!important; /* add !important */
}
#2 否则就像我建议的那样你可以使用 JS 注入它(这里 jQuery)。
$('#scroller').css('position','absolute');
确保将该 JS 代码片段插入到加载链的尽头。
您不应修改组件的内部样式。不能保证它们现在或将来仍然 behave/function 正确。 #scroller
选择器是 <vaadin-grid>
组件的私有实现细节的一部分。
你唯一应该设置样式的 CSS 选择器是 :host
和 [part]
,它们可以与原生伪 类(:hover
,等)、伪元素(::before
、::after
等)和记录的状态属性([disabled]
、[active]
等)。详细了解 supported selectors.
我怀疑 <vaadin-crud>
组件上的 height: 100%
导致它过高。您应该尝试在其上使用 flex: 1
。
我正在使用堆叠在分页工具栏 (vaadin-grid-pagination) 上的 vaadin-grid,我遇到的问题是在移动设备上,分页不位于底部视口作为网格覆盖它。
理想情况下(忽略分页溢出)它看起来像这样:
现在,通过 Dev Tools 检查器,我能够从滚动条中删除一个 position: relative 属性,这让事情按照我想要的方式运行。
问题是我无法以编程方式执行此操作...我尝试使用包含以下内容的自定义 css 文件:
:host() #scroller {
width: 100%;
height: 100%;
position: absolute;
}
并在构建网格的视图中使用它:
@CssImport(value = "./styles/grid-styles.css", themeFor = "vaadin-grid")
不过好像没什么区别
不确定正确的方法是什么,如果有的话。
#1 尝试使用 !important ?
设置位置值:host() #scroller {
width: 100%;
height: 100%;
position: absolute!important; /* add !important */
}
#2 否则就像我建议的那样你可以使用 JS 注入它(这里 jQuery)。
$('#scroller').css('position','absolute');
确保将该 JS 代码片段插入到加载链的尽头。
您不应修改组件的内部样式。不能保证它们现在或将来仍然 behave/function 正确。 #scroller
选择器是 <vaadin-grid>
组件的私有实现细节的一部分。
你唯一应该设置样式的 CSS 选择器是 :host
和 [part]
,它们可以与原生伪 类(:hover
,等)、伪元素(::before
、::after
等)和记录的状态属性([disabled]
、[active]
等)。详细了解 supported selectors.
我怀疑 <vaadin-crud>
组件上的 height: 100%
导致它过高。您应该尝试在其上使用 flex: 1
。