The main problem is: <div class="slider-container" id="slider.container"></div>
did not rendered when it have not any child element in it.
You must set block in this container. Ex:
<container name="slider.container" htmlTag="div" htmlId="slider.container" htmlClass="slider-container" before="page.top">
<block class="Magento\Framework\View\Element\Template" after="-" name="abc" template="PATH_YOUR_TEMPLATE" />
</container>
Or you can use <move>
element with destination is 'slider.container' (name of container) to have child element in it.
David's answer is correct, but his example doesn't work (for me anyway).
If you swap the text block in his example with a template block you'll see the container then displays.
My full example to get it working:
app/design/frontend/PACKAGE/THEME/Magento_Cms/layout/default.xml
<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="footer">
<container name="mike.container" as="mikeContainer" label="Mike Container" htmlTag="div" htmlClass="mike-container">
<block class="Magento\Framework\View\Element\Template" name="testing" template="Magento_Cms::test.phtml" />
</container>
</referenceContainer>
</body>
</page>
app/design/frontend/PACKAGE/THEME/Magento_Cms/templates/test.phtml
<h2>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem suscipit, adipisci, cum quos, alias similique ad eum at deserunt eligendi enim dignissimos, unde vero ipsam voluptatibus cumque accusantium! Obcaecati, quasi.</h2>
Result
If I remove the template block, the container is no longer rendered.
Best Answer
You can change the htmlClass in theme level
For example get the layout into your theme and modify it.
I grab the code from
module-theme
, kept in Luma theme and added myhtmlclass(mycustomclass).