From 3ec4ca17ba1f954871fe99100c7137d4977b5dbf Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 9 Jul 2014 21:17:10 -0700 Subject: [PATCH] rewrite helpers in markdown --- docs/_includes/css/buttons.md | 215 +++++++++++++--------------------- docs/_includes/css/helpers.md | 196 +++++++++++++++++++------------ 2 files changed, 201 insertions(+), 210 deletions(-) diff --git a/docs/_includes/css/buttons.md b/docs/_includes/css/buttons.md index dbfc35610e..c02e74e1f8 100644 --- a/docs/_includes/css/buttons.md +++ b/docs/_includes/css/buttons.md @@ -1,17 +1,10 @@ -
-

Buttons

-

Use any of the available button classes to quickly create a styled button.

-
-

- - - - - - -

-
-{% highlight html %} + + +# Buttons + +Use any of the available button classes to quickly create a styled button. + +{% example html %} @@ -29,146 +22,104 @@ -{% endhighlight %} +{% endexample %} -

Sizes

-

Fancy larger or smaller buttons? Add .btn-lg, .btn-sm, or .btn-xs for additional sizes.

-
-

- - -

-

- - -

-

- - -

-

- - -

-
-{% highlight html %} -

- - -

-

- - -

-

- - -

-

- - -

-{% endhighlight %} -

Create block level buttons—those that span the full width of a parent— by adding .btn-block.

-
-
- - -
-
-{% highlight html %} + + + +## Sizes + +Fancy larger or smaller buttons? Add `.btn-lg`, `.btn-sm`, or `.btn-xs` for additional sizes. + +{% example html %} + + +{% endexample %} + +{% example html %} + + +{% endexample %} + +{% example html %} + + +{% endexample %} + +Create block level buttons—those that span the full width of a parent—by adding `.btn-block`. + +{% example html %} -{% endhighlight %} +{% endexample %} -

Active state

-

Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. For <button> elements, this is done via :active. For <a> elements, it's done with .active. However, you may use .active on <button>s should you need to replicate the active state programmatically.

-

Button element

-

No need to add :active as it's a pseudo-class, but if you need to force the same appearance, go ahead and add .active.

-

- - -

-{% highlight html %} - - -{% endhighlight %} + -

Anchor element

-

Add the .active class to <a> buttons.

-

- Primary link - Link -

-{% highlight html %} +## Active state + +Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. **There's no need to add a class to ` - -

-{% highlight html %} - - -{% endhighlight %} + -
-

Cross-browser compatibility

-

If you add the disabled attribute to a <button>, Internet Explorer 9 and below will render text gray with a nasty text-shadow that we cannot fix.

-
+## Disabled state -

Anchor element

-

Add the .disabled class to <a> buttons.

-

- Primary link - Link -

-{% highlight html %} +Make buttons look unclickable by adding the `disabled` boolean attribute to any ` + +{% endexample %} + +As `` elements don't support the `disabled` attribute, you must add the `.disabled` class to fake it. + +{% example html %} Primary link Link -{% endhighlight %} -

- We use .disabled as a utility class here, similar to the common .active class, so no prefix is required. -

-
-

Link functionality caveat

-

This class uses pointer-events: none to try to disable the link functionality of <a>s, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. So to be safe, use custom JavaScript to disable such links.

-
-
-

Context-specific usage

-

While button classes can be used on <a> and <button> elements, only <button> elements are supported within our nav and navbar components.

-
+{% endexample %} + +
+

Cross-browser compatibility

+

If you add the disabled attribute to a <button>, Internet Explorer 9 and below will render text gray with a nasty text-shadow that we cannot fix.

+
+ +
+

Link functionality caveat

+

This class uses pointer-events: none to try to disable the link functionality of <a>s, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. So to be safe, use custom JavaScript to disable such links.

+
+ +
+

Context-specific usage

+

While button classes can be used on <a> and <button> elements, only <button> elements are supported within our nav and navbar components.

+
-

Button tags

-

Use the button classes on an <a>, <button>, or <input> element.

-
- Link - - - -
-{% highlight html %} + + + +## Button tags + +Use the button classes on an ``, ` -{% endhighlight %} +{% endexample %} -
-

Cross-browser rendering

-

As a best practice, we highly recommend using the <button> element whenever possible to ensure matching cross-browser rendering.

-

Among other things, there's a bug in Firefox <30 that prevents us from setting the line-height of <input>-based buttons, causing them to not exactly match the height of other buttons on Firefox.

-
+ +
+

Cross-browser rendering

+

As a best practice, we highly recommend using the <button> element whenever possible to ensure matching cross-browser rendering.

+

Among other things, there's a bug in Firefox <30 that prevents us from setting the line-height of <input>-based buttons, causing them to not exactly match the height of other buttons on Firefox.

diff --git a/docs/_includes/css/helpers.md b/docs/_includes/css/helpers.md index dc992ee239..24f9a027a2 100644 --- a/docs/_includes/css/helpers.md +++ b/docs/_includes/css/helpers.md @@ -1,65 +1,78 @@ -
-

Helper classes

+ -

Contextual colors

-

Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.

-
-

Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.

-

Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Duis mollis, est non commodo luctus, nisi erat porttitor ligula.

-

Maecenas sed diam eget risus varius blandit sit amet non magna.

-

Etiam porta sem malesuada magna mollis euismod.

-

Donec ullamcorper nulla non metus auctor fringilla.

-
-{% highlight html %} -

...

-

...

-

...

-

...

-

...

-

...

-{% endhighlight %} -
-

Dealing with specificity

-

Sometimes emphasis classes cannot be applied due to the specificity of another selector. In most cases, a sufficient workaround is to wrap your text in a <span> with the class.

-
+# Helper classes -

Contextual backgrounds

-

Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.

-
-

Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Duis mollis, est non commodo luctus, nisi erat porttitor ligula.

-

Maecenas sed diam eget risus varius blandit sit amet non magna.

-

Etiam porta sem malesuada magna mollis euismod.

-

Donec ullamcorper nulla non metus auctor fringilla.

-
-{% highlight html %} -

...

-

...

-

...

-

...

-

...

-{% endhighlight %} -
-

Dealing with specificity

-

Sometimes contextual background classes cannot be applied due to the specificity of another selector. In some cases, a sufficient workaround is to wrap your element's content in a <div> with the class.

-
-

Close icon

-

Use the generic close icon for dismissing content like modals and alerts.

-
-

-
-{% highlight html %} - -{% endhighlight %} -

Quick floats

-

Float an element to the left or right with a class. !important is included to avoid specificity issues. Classes can also be used as mixins.

-{% highlight html %} + + +### Contextual colors + +Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles. + +{% example html %} +

Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.

+

Nullam id dolor id nibh ultricies vehicula ut id elit.

+

Duis mollis, est non commodo luctus, nisi erat porttitor ligula.

+

Maecenas sed diam eget risus varius blandit sit amet non magna.

+

Etiam porta sem malesuada magna mollis euismod.

+

Donec ullamcorper nulla non metus auctor fringilla.

+{% endexample %} + +
+

Dealing with specificity

+

Sometimes emphasis classes cannot be applied due to the specificity of another selector. In most cases, a sufficient workaround is to wrap your text in a <span> with the class.

+
+ + + + + +### Contextual backgrounds + +Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes. + +{% example html %} +
Nullam id dolor id nibh ultricies vehicula ut id elit.
+
Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
+
Maecenas sed diam eget risus varius blandit sit amet non magna.
+
Etiam porta sem malesuada magna mollis euismod.
+
Donec ullamcorper nulla non metus auctor fringilla.
+{% endexample %} + +
+

Dealing with specificity

+

Sometimes contextual background classes cannot be applied due to the specificity of another selector. In some cases, a sufficient workaround is to wrap your element's content in a <div> with the class.

+
+ + + + + +### Close icon + +Use a generic close icon for dismissing content like modals and alerts. **Be sure to include screen reader text when you can** as we've done with `.sr-only`. + +{% example html %} + +{% endexample %} + + + + + +### Quick floats + +Float an element to the left or right with a class. `!important` is included to avoid specificity issues. Classes can also be used as mixins. + +{% example html %}
...
...
-{% endhighlight %} +{% endexample %} + {% highlight scss %} // Classes .pull-left { @@ -78,17 +91,23 @@ } {% endhighlight %} -
-

Not for use in navbars

-

To align components in navbars with utility classes, use .navbar-left or .navbar-right instead. See the navbar docs for details.

-
+
+

Not for use in navbars

+

To align components in navbars with utility classes, use .navbar-left or .navbar-right instead. See the navbar docs for details.

+
-

Center content blocks

-

Set an element to display: block and center via margin. Available as a mixin and class.

-{% highlight html %} + + + +### Center content blocks + +Set an element to `display: block;` and center via `margin`. Available as a mixin and class. + +{% example html %}
...
-{% endhighlight %} +{% endexample %} + {% highlight scss %} // Classes .center-block { @@ -104,12 +123,15 @@ {% endhighlight %} -

Clearfix

-

Easily clear floats by adding .clearfix to the parent element. Utilizes the micro clearfix as popularized by Nicolas Gallagher. Can also be used as a mixin.

+ + + +Easily clear `float`s by adding `.clearfix` **to the parent element**. Utilizes [the micro clearfix](http://nicolasgallagher.com/micro-clearfix-hack/) as popularized by Nicolas Gallagher. Can also be used as a mixin. + {% highlight html %} -
...
{% endhighlight %} + {% highlight scss %} // Mixin itself .clearfix() { @@ -130,13 +152,20 @@ {% endhighlight %} -

Showing and hiding content

-

Force an element to be shown or hidden (including for screen readers) with the use of .show and .hidden classes. These classes use !important to avoid specificity conflicts, just like the quick floats. They are only available for block level toggling. They can also be used as mixins.

-

Furthermore, .invisible can be used to toggle only the visibility of an element, meaning its display is not modified and the element can still affect the flow of the document.

+ + + +### Showing and hiding content + +Force an element to be shown or hidden (**including for screen readers**) with the use of `.show` and `.hidden` classes. These classes use `!important` to avoid specificity conflicts, just like the [quick floats](#helper-floats). They are only available for block level toggling. They can also be used as mixins. + +Furthermore, `.invisible` can be used to toggle only the visibility of an element, meaning its `display` is not modified and the element can still affect the flow of the document. + {% highlight html %}
...
{% endhighlight %} + {% highlight scss %} // Classes .show { @@ -160,11 +189,17 @@ {% endhighlight %} -

Screen reader and keyboard navigation content

-

Hide an element to all devices except screen readers with .sr-only. Combine .sr-only with .sr-only-focusable to show the element again when it's focused (e.g. by a keyboard-only user). Necessary for following accessibility best practices. Can also be used as mixins.

+ + + +### Screen readers and keyboard navigation + +Hide an element to all devices **except screen readers** with `.sr-only`. Combine `.sr-only` with `.sr-only-focusable` to show the element again when it's focused (e.g. by a keyboard-only user). Necessary for following [accessibility best practices](../getting-started/#accessibility). Can also be used as mixins. + {% highlight html %} Skip to main content {% endhighlight %} + {% highlight scss %} // Usage as a Mixin .skip-navigation { @@ -174,15 +209,20 @@ {% endhighlight %} -

Image replacement

-

Utilize the .text-hide class or mixin to help replace an element's text content with a background image.

-{% highlight html %} + + + +### Image replacement + +Utilize the `.text-hide` class or mixin to help replace an element's text content with a background image. + +{% example html %}

Custom heading

-{% endhighlight %} - {% highlight scss %} +{% endexample %} + +{% highlight scss %} // Usage as a Mixin .heading { .text-hide(); } {% endhighlight %} -