1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-21 04:41:36 +02: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
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 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. // Remove the inheritance of word-wrap in Safari.
// //
// Details at https://github.com/twbs/bootstrap/issues/24990 // 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; $displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
$overflows: auto, hidden !default; $overflows: auto, hidden !default;
$positions: static, relative, absolute, fixed, sticky !default; $positions: static, relative, absolute, fixed, sticky !default;
$user-selects: all, auto, none !default;
// Printing // 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: Flex
- title: Float - title: Float
- title: Image replacement - title: Image replacement
- title: Interactions
- title: Overflow - title: Overflow
- title: Position - title: Position
- title: Screen readers - title: Screen readers

View File

@@ -298,6 +298,15 @@ These changes, and more, are demonstrated below.
</fieldset> </fieldset>
</form> </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 ## Misc elements
### Address ### 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`.