Tabs 01
Custom Elements - Tabs 01
Documentation
REQUIREMENTS
Business Plan with your Squarespace version 7.0;
Squarespace template that allows stacked Index pages;
How to
To implement your custom element inside your Squarespace account please follow the instructions below or/and watch the video:
Copy the CSS code from the bottom of the article and paste to your Design tab -> Custom CSS tab
Copy the JavaScript code from the bottom of the article and paste to your Settings -> Advanced -> Code Injection -> Footer tab
Create a post type with text and image for your tabs. Image recommended sizing at least 600x800px (vertical ratio)
Add a new section inside an Index Page, where you want the element located. Make sure to title the section with slug “tabs-type-1“ or “tabs-type-1-x“.
HTML code to use when building the section:
<div class="tabs-title"></div>
Video Passcode: SQM-ELEMENTS
This video will go over how to update your fonts** to match the ones from the Custom element (check screenshots below) and the other way around.
**Font-families set in the CSS Code might differ from the ones mentioned in the video tutorial. The practice of changing the fonts stays the same.
Fonts Styles:
Heading 2
Body
CSS Code:
/* Tabs Type 1 */ @font-face { font-family: Questrial; src: url("https://static1.squarespace.com/static/5c1b99c7a9e02801f6c9b9d0/t/5cade8cfe5e5f02b0ddd34b8/1554901200175/Questrial-Regular.ttf"); } @font-face { font-family: nunito-sans; src: url("https://static1.squarespace.com/static/5e5cc5496ecd6e20d2894138/t/642e87d44790e500c508a6b1/1680771029363/NunitoSans-Light.ttf"); } @font-face { font-family: libre-caslon-display; src: url("https://static1.squarespace.com/static/642fc2cb0ff3d476932cd662/t/642fd70e40a7231d4fe182f4/1680856846167/libre-caslon-display.regular.otf"); } [id^="tabs-type-1"] { background: #f6efe5; h3 { font-family: Questrial; font-size: 10px; line-height: 200%; letter-spacing: 0.4em; text-transform: uppercase; color: #35322e; } .tabs-title h2 { font-family: libre-caslon-display; font-weight: 300; font-size: 38px; line-height: 100%; letter-spacing: -0.01em; color: #35322e; cursor: pointer; margin-bottom: 28px; display: table; } .sqs-block-summary-v2 .summary-excerpt p { font-family: nunito-sans; font-size: 15px; line-height: 200%; letter-spacing: 0; color: #35322e; } .tabs-title h2 span { border-bottom: 1px solid transparent; } .Index-page-content { padding-top: 105px; padding-bottom: 80px; } .sqs-block-summary-v2 .summary-block-setting-design-list .summary-item { position: relative; transition: all 0.5s; display: none; padding-bottom: 0 !important; margin-bottom: 0 !important; } .sqs-block-summary-v2 .summary-block-setting-design-list .yui3-widget .summary-item:first-child, .sqs-block-summary-v2 .summary-block-setting-design-list .summary-item.sm-active { display: block; } .sqs-block-summary-v2 .summary-excerpt { max-width: 320px; padding-left: 40px; margin-top: 105px; } .tabs-title h2.sm-active span { border-bottom: 1px solid #35322e; } .sqs-block-summary-v2 .summary-title { display: none; } .summary-thumbnail-outer-container { pointer-events: none; } .summary-thumbnail img { max-width: 100%; width: 100% !important; height: auto !important; top: 0 !important; left: 0 !important; } .sqs-block-code { margin-top: 45px; } @media (max-width: 1199px) { .tabs-title h2 { font-size: 32px; } .sqs-block-code { margin-top: 0; } .sqs-block-summary-v2 .summary-excerpt { max-width: 300px; margin-top: 65px; } } @media (max-width: 991px) { .Index-page-content { padding-top: 60px; padding-bottom: 40px; } .tabs-title h2 { font-size: 24px; } .sqs-block-summary-v2 .summary-excerpt { margin-top: 45px; padding-left: 0; } } @media (max-width: 767px) { .tabs-title h2 { font-size: 20px; } } @media (max-width: 640px) { .Index-page-content { padding-top: 30px; padding-bottom: 10px; } .sqs-block-summary-v2 .summary-excerpt { max-width: 100%; padding-left: 0; margin: 0; } .tabs-title h2 { margin-bottom: 15px; } .sqs-block-summary-v2 .summary-block-setting-design-list .summary-thumbnail-container { padding: 0 0 20px; } .sqs-block-summary-v2 .summary-block-setting-design-list .summary-thumbnail-outer-container, .sqs-gallery-design-list .sqs-gallery-design-list-slide .sqs-gallery-meta-container { width: 100% !important; } } }
JavaScript Code:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $(document).ready(function() { tabs_type_1(); }); function tabs_type_1() { let tabsSelector1 = '[id^="tabs-type-1"]'; let tabsType1 = $(tabsSelector1); if ( tabsType1.length ) { tabsType1.each( function() { let count = 0; let $this = $(this); $this.find('.summary-item:first-child').addClass('sm-active'); let $tabsTitle = $this.find('.tabs-title'); $this.find('.summary-item .summary-title-link').each( function() { count++; let active = ''; if ( count == 1 ) { active = 'class="sm-active"'; } $tabsTitle.append( '<h2 '+active+' data-id="'+ count +'">' + $(this).html() + '</h2>' ); }); }); tabsType1.on('click', '.tabs-title h2', function () { if ( !$(this).hasClass('active') ) { let dataID = $(this).attr('data-id'); $(this).parents(tabsSelector1).find('.sm-active').removeClass('sm-active'); $(this).addClass('sm-active'); $(this).parents(tabsSelector1).find('.summary-item:nth-child('+dataID+')').addClass('sm-active'); } }); // fix for custom URL tabsType1.find('.summary-item').each(function() { let $this = $(this); let href = $this.find('.summary-title-link').attr('href'); $this.find('.summary-read-more-link').attr('href', href); }); } } </script>