In this post, the author guides you how to create a Web CSS content switcher without JavaScript, a CSS code can toggle your web content, go can see this miracle at Web CSS Content Switcher Without JavaScript. Please go to the detailed post for full instructions and guides.
- Demo
- Enlarge
- Reload
- New window
Free iPage Web Hosting for First Year NOW
If you're still looking for a reliable web host provider with affordable rates, why you don't take a little of time to try iPage, only with $1.89/month, included $500+ Free Extra Credits for the payment of 24 months ($45)?
Over 1,000,000+ existisng customers can not be wrong, definitely you're not, too! More important, when you register the web hosting at iPage through our link, we're going to be happy for resending a full refund to you. That's awesome! You should try iPage web hosting for FREE now! And contact us for anything you need to know about iPage.
Recently, while doing research/work on a completely unrelated topic, I came across the beautiful illustrations on Rype Arts, which are displayed inside of a JavaScript-driven content switcher. For some reason, I happened to visit the page with JavaScript disabled and noticed that the content switcher was still working (albeit, with a few flaws).
At first I couldn't figure out how it was functioning. Normally,
with JavaScript disabled, this type of content switcher (or content
slider) will just display one item, or else display all items, without
allowing any "switching" functionality. After some poking around, I
realized it's not a very difficult thing to do. The switcher utilizes
in-page anchors and overflow: hidden
to keep the switchability intact.
View the Demo to preview what I'll be describing below.
Here is the HTML that I'll be using to demonstrate this effect with and without JavaScript:
<div id="content-slider"> <ul id="content-slider-inside"> <li id="one">1</li> <li id="two">2</li> <li id="three">3</li> <li id="four">4</li> <li id="five">5</li> </ul> </div> <ul id="navigation"> <li><a href="/javascript/article/How_to_Create_a_Web_CSS_Content_Switcher_Without_JavaScript.php/#one">1</a></li> <li><a href="/javascript/article/How_to_Create_a_Web_CSS_Content_Switcher_Without_JavaScript.php/#two">2</a></li> <li><a href="/javascript/article/How_to_Create_a_Web_CSS_Content_Switcher_Without_JavaScript.php/#three">3</a></li> <li><a href="/javascript/article/How_to_Create_a_Web_CSS_Content_Switcher_Without_JavaScript.php/#four">4</a></li> <li><a href="/javascript/article/How_to_Create_a_Web_CSS_Content_Switcher_Without_JavaScript.php/#five">5</a></li> </ul>
The key part of this code is the <div>
with the id
"content-slider". Normally, that element would not be necessary, as it
seems to be doing nothing. In this case, however, it's needed in order
to hide the unselected content inside the list nested inside it. Also,
each list item inside the content switcher is given a unique id
, which is needed for the switching to work even without JavaScript.
The CSS to style the content switcher is as follows (I've excluded all irrelevant styles):
#content-slider { width: 650px; overflow: hidden; height: 300px; } #content-slider-inside { list-style: none; height: 320px; // these 3 lines overflow: scroll; // help Opera overflow-y: hidden; // behave } #content-slider-inside li { width: 650px; height: 300px; }
A few things to note in the CSS above: The outer container has its
overflow set to "hidden". It also has a width equal to one of the
content boxes (650px). Inside the container is the <ul>
element that holds the list items that represent the content boxes.
Finally, the list items are given dimensions of 650px by 300px. Since
the container element is equal to one list item, and the container has
overflow set to "hidden", only one list item will be visible at a time.
UPDATE: I added three new lines of code in the CSS above (commented), to get the non-JavaScript version (the first demo) to work in Opera. Thanks to comment by Damian Muti.
How it Works
The navigation links are linked to internal anchors. An HTML page, by default will search the page for an anchor set as <a name="one"></a>
, and if it doesn't find it, will then match the anchor to a corresponding id
attribute. This is what allows the content switcher to still change the content inside of the container.
After the above code is in place, we just need to add some CSS to make it look a little nicer, then we have the option to enhance the switcher with JavaScript. The switcher also allows deep linking by means of the hash in the URL, which works with or without JavaScript.
Compatibility
This works in every modern browser, except for Opera, and also works in IE6. Opera doesn't seem to support in-page anchors that appear in hidden sections of a <div>
- or else I'm doing something else wrong, but I couldn't figure out how
to get Opera to recognize the switching without JavaScript enabled.
Take a look at the demo, which also includes a link to a JavaScript/jQuery-enhanced version that I coded myself, as a bonus. And just to demonstrate the deep-linking capabilities, the demo link appends "#three" to the URL - so you should see the number "3″ in the content area, if it's working correctly.
- Sent (0)
- New
Save up to 630$ when buy new iPhone 15
GateIO.gomymobi.com
Free Airdrops to Claim, Share Up to $150,000 per Project
https://tooly.win
Open tool hub for free to use by any one for every one with hundreds of tools
chatGPTaz.com, chatGPT4.win, chatGPT2.fun, re-chatGPT.com
Talk to ChatGPT by your mother language
Dall-E-OpenAI.com
Generate creative images automatically with AI
AIVideo-App.com
Render creative video automatically with AI