0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-01-30 22:52:24 +01:00

Add new interaction utilities and role attr to Reboot (#30562)

- Adds .user-select-* utils from v5
- Adds button role attribute util, one of the top requested features in our issues for adding pointer cursors
- Adds new docs page to demonstrate both
- Includes Sass list for customizing user select
This commit is contained in:
Mark Otto 2020-05-11 10:57:29 -07:00 committed by GitHub
parent fce3370843
commit 5d10e4a58e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 42 additions and 0 deletions

View File

@ -333,6 +333,13 @@ select {
text-transform: none; // Remove the inheritance of text transform in Firefox
}
// Set the cursor for non-`<button>` buttons
//
// Details at https://github.com/twbs/bootstrap/pull/30562
[role="button"] {
cursor: pointer;
}
// Remove the inheritance of word-wrap in Safari.
//
// Details at https://github.com/twbs/bootstrap/issues/24990

View File

@ -1138,6 +1138,7 @@ $pre-scrollable-max-height: 340px !default;
$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
$overflows: auto, hidden !default;
$positions: static, relative, absolute, fixed, sticky !default;
$user-selects: all, auto, none !default;
// Printing

View File

@ -0,0 +1,5 @@
// stylelint-disable declaration-no-important
@each $value in $user-selects {
.user-select-#{$value} { user-select: $value !important; }
}

View File

@ -64,6 +64,7 @@
- title: Flex
- title: Float
- title: Image replacement
- title: Interactions
- title: Overflow
- title: Position
- title: Screen readers

View File

@ -298,6 +298,15 @@ These changes, and more, are demonstrated below.
</fieldset>
</form>
### Pointers on buttons
Reboot includes an enhancement for `role="button"` to change the default cursor to `pointer`. Add this attribute to elements to help indicate elements are interactive. This role isn't necessary for `<button>` elements, which gets it's own `cursor` change.
{% capture example %}
<span role="button">Non-button element button</span>
{% endcapture %}
{% include example.html content=example %}
## Misc elements
### Address

View File

@ -0,0 +1,19 @@
---
layout: docs
title: Interactions
description: Utility classes that change how users interact with contents of a website.
group: utilities
---
## Text selection
Change the way in which the content is selected when the user interacts with it.
{% capture example %}
<p class="user-select-all">This paragraph will be entirely selected when clicked by the user.</p>
<p class="user-select-auto">This paragraph has the default select behavior.</p>
<p class="user-select-none">This paragraph will not be selectable when clicked by the user.</p>
{% endcapture %}
{% include example.html content=example %}
Customize the available classes by changing the `$user-selects` Sass list in `_variables.scss`.