by omitting borders via CSS.
renderFrameGap
fn
void renderFrameGap(gtk.style_context.StyleContext context, cairo.context.Context cr, double x, double y, double width, double height, gtk.types.PositionType gapSide, double xy0Gap, double xy1Gap)Renders a frame around the rectangle defined by (x, y, width, height), leaving a gap on one side. xy0_gap and xy1_gap will mean X coordinates for gtk.types.PositionType.Top and gtk.types.PositionType.Bottom gap sides, and Y coordinates for gtk.types.PositionType.Left and gtk.types.PositionType.Right.
Typical rendering of a frame with a gap:

Parameters
context | a #GtkStyleContext |
cr | a #cairo_t |
x | X origin of the rectangle |
y | Y origin of the rectangle |
width | rectangle width |
height | rectangle height |
gapSide | side where the gap is |
xy0Gap | initial coordinate (X or Y depending on gap_side) for the gap |
xy1Gap | end coordinate (X or Y depending on gap_side) for the gap |
Deprecated
Use gtk.global.renderFrame instead. Themes can create gaps