- jQuery for Designers Beginner's Guide Second Edition
- Natalie MacLees
- 649字
- 2021-09-03 10:08:37
Time for action – setting up the HTML file
Perform the following steps to get the HTML file set up for our FAQ page:
- We'll get started with our sample HTML file and associated files and folders, like we set up in the questions hang into the left margin, making them easy to scan. Inside the
<body>
tag of your HTML document, add a heading and a definition list as shown in the following code:<h1>Frequently Asked Questions</h1> <dl> <dt>What is jQuery?</dt> <dd> <p>jQuery is an awesome JavaScript library</p> </dd> <dt>Why should I use jQuery?</dt> <dd> <p>Because it's awesome and it makes writing JavaScript faster and easier</p> </dd> <dt>Why would I want to hide the answers to my questions?</dt> <dd> <p>To make it easier to peruse the list of available questions - then you simply click to see the answer you're interested in reading.</p> </dd> <dt>What if my answers were a lot longer and more complicated than these examples?</dt> <dd> <p>The great thing about the <dd> element is that it's a block level element that can contain lots of other elements.</p> <p>That means your answer could contain:</p> <ul> <li>Unordered</li> <li>Lists</li> <li>with lots</li> <li>of items</li> <li>(or ordered lists or even another definition list)</li> </ul> <p>Or it might contain text with lots of <strong>special</strong> <em>formatting</em>.</p> <h2>Other things</h2> <p>It can even contain headings. Your answers could take up an entire screen or more all on their own - it doesn't matter since the answer will be hidden until the user wants to see it.</p> </dd> <dt>What if a user doesn't have JavaScript enabled?</dt> <dd> <p>You have two options for users with JavaScript disabled - which you choose might depend on the content of your page.</p> <p>You might just leave the page as it is - and make sure the <dt> tags are styled in a way that makes them stand out and easy to pick up when you're scanning down through the page. This would be a great solution if your answers are relatively short.</p> <p>If your FAQ page has long answers, it might be helpful to put a table of contents list of links to individual questions at the top of the page so users can click it to jump directly to the question and answer they're interested in. This is similar to what we did in the tabbed example, but in this case, we'd use jQuery to hide the table of contents when the page loaded since users with JavaScript wouldn't need to see the table of contents.</p> </dd> </dl>
- You can adjust the style of the page however you'd like by adding in some CSS styles. The following screenshot shows how the page is styled in the example code included with the book:
For users with JavaScript disabled, this page works fine as is. The questions hang into the left margin and are bolder and larger than the rest of the text on the page, making them easy to scan.
What just happened?
We set up a basic definition list to hold our questions and answers. The default style of the definition list lends itself nicely to making the list of questions scannable for site visitors without JavaScript. We can enhance that further with our own custom CSS code to make the style of our list match our site.
Note
As this simple collapse-and-show (or accordion) action is such a common one, two new elements have been proposed for HTML5: <summary>
and <details>
that will enable us to build accordions in HTML without the need for JavaScript interactivity. However, at the time of writing this, the new elements are only supported in Webkit browsers, which require some finagling to get them styled with CSS, and are also not accessible. Do keep an eye on these new elements to see if more widespread support for them develops. You can read about the elements in the HTML5 specs (http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html). If you'd like to understand the elements better, the HTML5 Doctor has a great tutorial that explains their use and styling at http://html5doctor.com/the-details-and-summary-elements/.
- Effective C#:改善C#代碼的50個有效方法(原書第3版)
- 零基礎學Scratch少兒編程:小學課本中的Scratch創意編程
- Mastering Natural Language Processing with Python
- Mastering RStudio:Develop,Communicate,and Collaborate with R
- Learning Vaadin 7(Second Edition)
- C語言程序設計
- Java面向對象程序設計
- Learning Ionic
- Go語言從入門到精通
- 物聯網系統架構設計與邊緣計算(原書第2版)
- HTML5游戲開發實戰
- PostgreSQL 12 High Availability Cookbook
- 數據結構與算法詳解
- Apache Kafka 1.0 Cookbook
- Appcelerator Titanium Smartphone App Development Cookbook