Newsletter¶
Styles for a newsletter used in newsletter module.
Structurally there is one main element .newsletter
which contains following elements:
.newsletter__title
.newsletter__description
.newsletter__controls-wrapper
.newsletter__submit-button
.newsletter__legal-notice
Example¶
Here is an example of newsletter element usage. We also used form control styles for presentation purposes.
HTML
<div class="newsletter">
<h2 class="title module__header newsletter__title">
<span class="module__header_highlight">Newsletter</span>
</h2>
<div class="description newsletter__description mb-xs-2">Example description</div>
<flash-messenger class="flash-messenger control" name="newsletter-form-1"></flash-messenger>
<newsletter-form module-instance-id="1">
<div slot="form">
<div class="newsletter__controls-wrapper">
<control-connector class="control" email>
<h-control>
<h-control-label class="control__label label_required">
<label class="label" for="newsletter-email">
Your e-mail address
</label>
</h-control-label>
<h-control-content class="control">
<h-control-element class="control__element">
<h-input controlId="newsletter-email" controlName="email">
<h-input-control></h-input-control>
</h-input>
</h-control-element>
<control-errors></control-errors>
</h-control-content>
</h-control>
</control-connector>
<button type="submit" class="btn btn_primary newsletter__submit-button mb-xs-2">Join the newsletter</button>
</div>
</div>
</newsletter-form>
<p class="newsletter__legal-notice">Example notice</p>
</div>
Newsletter tags¶
The .newsletter
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 newsletter less variable in your User Less
section to change newsletter styles.
Newsletter variables¶
Variables used to style a newsletter.
@newsletterMaxWidth: 640;
@newsletterDescriptionFontSize: @fontSizeInPxS;
@newsletterDescriptionLineHeight: @lineHeightInPxS;
@newsletterControlsWrapperGap: @globalSpacing;
@newsletterControlsWrapperMarginBottom: @globalSpacing;
@newsletterSubmitButtonMarginTop: @globalSpacing;
@newsletterLegalNoticeFontSize: @fontSizeInPxXS;
@newsletterLegalNoticeLineHeight: @lineHeightInPxXS;
If you want to change newsletter styles, you can just change the variables. To change a default max-width
just modify @newsletterMaxWidth
variable.
Newsletter styles¶
Here are standard newsletter styles.
.newsletter {
&__container {
.pixel-to-rem(max-width, @newsletterMaxWidth);
}
&__description {
.font-size(@newsletterDescriptionFontSize);
.line-height(@newsletterDescriptionLineHeight);
}
&__controls-wrapper {
display: block;
gap: @newsletterControlsWrapperGap;
align-items: flex-end;
margin-bottom: @newsletterControlsWrapperMarginBottom;
}
&__submit-button {
min-width: max-content;
width: 100%;
margin-top: @newsletterSubmitButtonMarginTop;
}
&__legal-notice {
.font-size(@newsletterLegalNoticeFontSize);
.line-height(@newsletterLegalNoticeLineHeight);
}
}
@media screen and (max-width: (@breakPointXs - 1)) {
.newsletter {
&__control-errors_block {
display: none;
}
.control__element_flex {
display: block;
}
.newsletter__control-errors_inline {
display: block;
}
.newsletter__submit-button {
width: 100%;
margin-top: @newsletterSubmitButtonMarginTop;
}
}
}