Info Box¶
Styles for an info box used in product_review module.
Structurally .info-box
contains following elements:
.info-box__header
.info-box__content
And following class modifiers:
.info-box_full-width-mobile
.info-box__content_flex
Example¶
Here is an example of info box element usage.
HTML
<div class="info-box">
<header class="info-box__header">Info box header</header>
<p class="info-box__content">Info box content</p>
</div>
Info Box tags¶
The .info-box
classes were designed to be used with block elements like <div>
. However, you can use them with any other element and customize it to your own needs.
LESS¶
You can modify any info box less variable in your User Less
section to change a info box styles.
Info Box variables¶
Variables used to style an info box.
@infoBoxBorder: 1px solid @neutralColors100;
@infoBoxBorderRadius: 4px;
@infoBoxBgColor: @neutralColors50;
@infoBoxColor: @globalFontColorTertiary;
@infoBoxHeaderFontSize: 14;
@infoBoxContentFontSize: 12;
@infoBoxPadding: @globalSpacing;
@infoBoxHeaderMarginBottom: @globalSpacing * 0.25;
@infoBoxMinWidth: 288px;
@infoBoxFlexGap: @globalSpacing;
@infoBoxFullWidthMobileHorizontalSpacing: @globalSpacing * 3;
@infoBoxMaxWidth: 512px;
@infoBoxBorderSecondary: 1px solid @neutralColors200;
@infoBoxBgColorSecondary: transparent;
@infoBoxColorSecondary: @neutralColors900;
@infoBoxSPaddingVertical: @globalSpacing * 0.5;
@infoBoxSPaddingHorizontal: @globalSpacing * 0.5;
@infoBoxMPaddingVertical: @globalSpacing * 2;
@infoBoxMPaddingHorizontal: @globalSpacing * 1.5;
@infoBoxLPaddingVertical: @globalSpacing * 3;
@infoBoxLPaddingHorizontal: @globalSpacing * 4;
@infoBoxLPaddingVerticalMobile: @globalSpacing * 1.5;
@infoBoxLPaddingHorizontalMobile: @globalSpacing;
If you want to change info box styles, you can just change the variables. To change a default color
just modify @infoBoxColor
variable.
Info Box styles¶
Here are standard info box styles.
.info-box {
min-width: @infoBoxMinWidth;
border: @infoBoxBorder;
border-radius: @infoBoxBorderRadius;
background-color: @infoBoxBgColor;
color: @infoBoxColor;
padding: @infoBoxPadding;
text-align: center;
&_secondary {
border: @infoBoxBorderSecondary;
background-color: @infoBoxBgColorSecondary;
color: @infoBoxColorSecondary;
}
&_s {
padding: @infoBoxSPaddingVertical @infoBoxSPaddingHorizontal;
}
&_m {
padding: @infoBoxMPaddingVertical @infoBoxMPaddingHorizontal;
}
&_l {
padding: @infoBoxLPaddingVertical @infoBoxLPaddingHorizontal;
}
&_no-vertical-padding {
padding-top: 0;
padding-bottom: 0;
}
&_no-padding {
padding: 0;
}
&_full-width {
width: 100%;
}
&_full-height {
height: 100%;
}
&__header {
.font-size(@infoBoxHeaderFontSize);
.weight-semibold();
margin-bottom: @infoBoxHeaderMarginBottom;
&_secondary {
display: flex;
align-items: center;
gap: @globalSpacing / 2;
}
}
&__content {
.font-size(@infoBoxContentFontSize);
&_flex {
display: flex;
gap: @infoBoxFlexGap;
}
}
}
@media screen and (max-width: @breakPointXs) {
.info-box {
min-width: unset;
&_l {
padding: @infoBoxLPaddingVerticalMobile @infoBoxLPaddingHorizontalMobile;
}
&_full-width-mobile {
width: ~"calc(100vw - @{infoBoxFullWidthMobileHorizontalSpacing})";
}
&__content {
&_flex {
flex-direction: column;
}
}
&_width {
&_l {
min-width: @infoBoxMinWidth;
}
}
}
}