CSS sticky

Created By: chatGPT

CSS Sticky positioning is a hybrid between relative and fixed positioning. It allows an element to behave like a relative element until a specified scroll point is reached, after which it behaves like a fixed element. This technique is useful for keeping elements like headers or navigation menus visible while scrolling through content.
header {
    position: -webkit-sticky; /* For Safari */
    position: sticky;
    top: 0;
    background-color: white;
    z-index: 1000;
}
To implement sticky positioning, you simply use the position: sticky; property in your CSS. You must also specify a top, bottom, left, or right value to define when the element should stick. In most cases, top: 0; is used to keep the element at the top during scrolling.
.container {
    height: 2000px; /* Just to create a scrollable area */
}

.sticky-header {
    position: sticky;
    top: 0;
    background: lightblue;
    padding: 10px;
    font-size: 20px;
}
Here's an example of a basic HTML structure for a sticky header that complements the CSS above. This will create a header that remains at the top as you scroll down the page.
<div class="container">
    <div class="sticky-header">I'm a Sticky Header!</div>
    <p>Scroll down to see me stick!</p>
    <p>Lots of content...</p>
    <p>More content...</p>
    <p>Even more content...</p>
    <p>Keep scrolling...</p>
</div>
It is important to note that sticky positioning does not work properly in overflow hidden containers. If you have elements that overflow and hide sticky content, it won't stick as expected. Make sure that the parent container of the sticky element has enough height and isn’t set to hidden overflow.
<div class="parent" style="overflow: hidden;">
    <div class="sticky-header">This won't stick due to overflow:hidden</div>
    <div style="height: 200px;"></div>
</div>
You can also configure sticky positioning based on horizontal alignment using left, right, or bottom. The browser supports multiple values for stickiness, enabling you to place elements in useful positions depending on layout needs.
.sticky-left {
    position: sticky;
    left: 0;
    background: lightgreen;
}

.sticky-bottom {
    position: sticky;
    bottom: 0;
    background: lightcoral;
}
Introduction And SetupSelectorsType SelectorClass SelectorId SelectorAttribute SelectorsUniversal SelectorGrouping SelectorsCombinatorsDescendant CombinatorChild CombinatorAdjacent Sibling CombinatorGeneral Sibling CombinatorPseudo ClassesHoverNth ChildNth Of TypeFocusVisitedActiveFirst ChildLast ChildOnly ChildPseudo ElementsBeforeAfterFirst LetterFirst LineBox ModelMarginPaddingBorderWidthHeightBox SizingPositioningStaticRelativeAbsoluteFixedStickyZ IndexDisplayInlineBlockInline BlockFlexGridNoneFloatClearTypographyFont FamilyFont SizeFont WeightFont StyleLine HeightLetter SpacingText AlignText DecorationText TransformVertical AlignOverflowOverflow XOverflow YVisibilityClip PathBackgroundsBackground ColorBackground ImageBackground SizeBackground PositionBackground RepeatBackground AttachmentGradientsBordersBorder WidthBorder ColorBorder StyleBorder RadiusShadowsBox ShadowText ShadowFlexboxFlex DirectionJustify ContentAlign ItemsAlign SelfFlex GrowFlex ShrinkFlex BasisOrderGridGrid Template ColumnsGrid Template RowsGrid GapGrid Auto FlowAlign ContentCss VariablesCustom PropertiesAnimationKeyframesTransitionTransformRotateScaleTranslateSkewMedia QueriesMin WidthMax WidthOrientationAspect RatioUnitsPxEmRemVhVwPercentages