@@ -174,7 +174,8 @@ export const gridStyles = css`
174174 inset-block-end : calc (var (--_row-border-width ) * -1 );
175175 }
176176
177- : host ([overflow ~= 'bottom' ]) # table [has-footer ] # footer ::before {
177+ : host ([overflow ~= 'bottom' ]) # table [has-footer ] # footer ::before ,
178+ : host (: not ([overflow ~= 'top' ]): not ([overflow ~= 'bottom' ])) # table [has-footer ] # footer ::before {
178179 content : '' ;
179180 inset-block-start : calc (var (--_row-border-width ) * -1 );
180181 }
@@ -197,20 +198,14 @@ export const gridStyles = css`
197198 linear-gradient (var (--vaadin-grid-cell-background-color , transparent));
198199 }
199200
200- # table [has-header ] {
201- [part ~= 'first-row-cell' ] {
202- border-block-start-style : solid;
203- }
201+ # table [has-header ] [part ~= 'first-row-cell' ] {
202+ border-block-start-style : solid;
204203 }
205204
206- # table [has-footer ] {
207- [part ~= 'last-row-cell' ] {
208- border-block-end-style : solid;
209- }
210-
211- [part ~= 'last-row-cell' ] + [part ~= 'details-cell' ] {
212- border-block-end-style : solid;
213- }
205+ # table [has-footer ] [part ~= 'last-row-cell' ],
206+ # table [has-footer ] [part ~= 'last-row-cell' ] + [part ~= 'details-cell' ],
207+ : host (: not ([overflow ~= 'bottom' ]): not ([overflow ~= 'top' ])) [part ~= 'last-row-cell' ] {
208+ border-block-end-style : solid;
214209 }
215210
216211 [part ~= 'header-cell' ]: not ([part ~= 'first-header-row-cell' ]),
@@ -456,13 +451,18 @@ export const gridStyles = css`
456451 : is ([part ~= 'row' ], [part ~= 'cell' ])::after {
457452 position : absolute;
458453 z-index : 3 ;
454+ inset : 0 ;
459455 pointer-events : none;
460456 outline : var (--vaadin-focus-ring-width ) solid var (--vaadin-focus-ring-color );
461457 outline-offset : calc (var (--vaadin-focus-ring-width ) * -1 );
462458 }
463459
464460 [part ~= 'cell' ]::after {
465- inset : calc (var (--_row-border-width ) * -1 ) calc (var (--_column-border-width ) * -1 );
461+ inset-block : calc (var (--_row-border-width ) * -1 );
462+ }
463+
464+ [part ~= 'body-cell' ]::after {
465+ inset-inline : calc (var (--_column-border-width ) * -1 );
466466 }
467467
468468 [part ~= 'first-column-cell' ]::after {
@@ -479,16 +479,16 @@ export const gridStyles = css`
479479 }
480480
481481 [part ~= 'first-row' ]::after ,
482- # table : not ([has-header ]) [part ~= 'first-row-cell' ]::after ,
483482 # header [part ~= 'row' ]: first- child::after ,
484- # header [part ~= 'row' ]: first- child [part ~= 'cell' ]::after {
483+ # header [part ~= 'row' ]: first- child [part ~= 'cell' ]::after ,
484+ # table : not ([has-header ]) [part ~= 'first-row-cell' ]::after {
485485 inset-block-start : 0 ;
486486 }
487487
488488 [part ~= 'last-row' ]::after ,
489- # table : not ([has-footer ]) [part ~= 'last-row-cell' ]::after ,
490489 # footer [part ~= 'row' ]: last- child::after ,
491- # footer [part ~= 'row' ]: last- child [part ~= 'cell' ]::after {
490+ # footer [part ~= 'row' ]: last- child [part ~= 'cell' ]::after ,
491+ : host ([overflow ~= 'top' ]) # table: not ([has - footer]) [part~= 'last-row-cell' ]::after {
492492 inset-block-end : 0 ;
493493 }
494494
0 commit comments