public class Overlay : Widget, Accessible, Buildable, ConstraintTarget
`GtkOverlay` is a container which contains a single main child, on top of which it can place “overlay” widgets.
![An example GtkOverlay](overlay.png)
The position of each overlay widget is determined by its [property@Gtk.Widget:halign] and [property@Gtk.Widget:valign] properties. E.g. a widget with both alignments set to gtk_align_start will be placed at the top left corner of the `GtkOverlay` container, whereas an overlay with halign set to gtk_align_center and valign set to gtk_align_end will be placed a the bottom edge of the `GtkOverlay`, horizontally centered. The position can be adjusted by setting the margin properties of the child to non-zero values.
More complicated placement of overlays is possible by connecting to the [signal@Gtk.Overlay:
An overlay’s minimum and natural sizes are those of its main child. The sizes of overlay children are not considered when measuring these preferred sizes.
GtkOverlay as GtkBuildable
The `GtkOverlay` implementation of the `GtkBuildable` interface supports placing a child as an overlay by specifying “overlay” as the “type” attribute of a `<child>` element.
`GtkOverlay` has a single CSS node with the name “overlay”. Overlay children whose alignments cause them to be positioned at an edge get the style classes “.left”, “.right”, “.top”, and/or “.bottom” according to their position.