用于 | 属性名 | CSS 版本 |
---|---|---|
① 设置 元素的外观样式。 | appearance |
4 |
② 设置元素 宽高属性 的指定区域 (搭配 width ,height 属性)。 |
box-sizing |
4 |
③ 设置 插入光标的颜色。 | caret-color |
4 |
④ 设置 元素内 鼠标光标的 形状。 | cursor |
2 |
⑤ 设置元素的 可调整性 和 调整方向 ( 搭配 overflow 属性)。 |
resize |
4 |
⑥ 设置 文本的选中性。 | user-select |
4 |
appearance
(实验中的属性)box-sizing
cursor
caret-color
resize
user-select
(实验中的属性)ime-mode
nav-down
(实验中的属性,暂无详细介绍)nav-left
(实验中的属性,暂无详细介绍)nav-right
(实验中的属性,暂无详细介绍)nav-up
(实验中的属性,暂无详细介绍)outline
(详情见: 【 CSS 边框和轮廓属性 Border&Outline】 )
outline-width
outline-style
outline-color
outline-offset
text-overflow
(详情见: 【CSS 文本属性(Text)】 )appearance
Gecko
(Firefox)中使用 -moz-appearance
属性,根据操作系统的主题,使用平台 原生样式 显示元素。webkit
(如 Safari)和基于 blink
(如 Chrome、Opera)的浏览器使用 -webkit-appearance
属性来 实现相同的功能。注意,由于 兼容性的原因,Firefox 和 Edge 也支持-webkit-appearance
。appearance
: none | auto | button | textfield | searchfield | textarea | push-button | button-bevel | slider-horizontal | checkbox | radio | square-button | menulist | menulist-button | listbox | meter | progress-bar;
auto
浏览器自动决定。none
/* 用户界面模块版本 4 的值 CSS Basic User Interface Module Level 4 values */
appearance: none;
appearance: auto;
appearance: button;
appearance: textfield;
appearance: searchfield;
appearance: textarea;
appearance: push-button;
appearance: button-bevel;
appearance: slider-horizontal;
appearance: checkbox;
appearance: radio;
appearance: square-button;
appearance: menulist;
appearance: menulist-button;
appearance: listbox;
appearance: meter;
appearance: progress-bar;
/* Gecko中 可用值的 部分列表 */
-moz-appearance: scrollbarbutton-up;
-moz-appearance: button-bevel;
/* WebKit/Blink中可用值的部分列表(以及Gecko和Edge) */
-webkit-appearance: media-mute-button;
-webkit-appearance: caret;
-moz-appearance: button;
-webkit-appearance: button;
.inputappearance{
margin: 10px;
-moz-appearance: none;
-webkit-appearance: none;
}
<input type="text" class="inputappearance">
<label ><input type="checkbox" class="inputappearance">动漫label>
box-sizing
width
和高度 height
只应用于元素的 内容框 = 内容区 = content box
。border
或 内边距 padding
,绘制到屏幕上时的 盒子宽度和高度 会加上设置的边框和内边距值。box-sizing
设置为 边框盒 border-box
通常对 布局元素很有用。 处理元素的大小 更加容易,并且通常 消除了在布局内容时 可能遇到的许多陷阱。position: relative
或 position: absolute
时,box-sizing: content-box
的使用允许 定位值 相对于内容 (存疑: 测试 设置偏移量 仍是整体偏移,相对于内容 是什么意思呢 ),并且独立于 对边框和内边距大小的更改。box-sizing
: content-box | border-box;
⑷ 元素宽高 指定区域的属性值
内容盒(默认) / 边框盒
① 内容盒 (默认值): content-box
② 边框盒: border-box
上图 涉及代码
html
<div class="divcontainer">
<p class="poem">明日复明日,明日何其多。
我生待明日,万事成蹉跎。p>
div>
/*设置元素 总宽度/高度 的范围*/
.divcontainer{
width: 30%;
height: 10%;
margin: 10px;
padding: 10px;
border: solid 10px darkgreen;
}
.poem{
width: 200px;
height: 100px;
margin: 10px;
border: dashed 10px lightskyblue;
padding: 10px;
box-sizing: border-box;
/*box-sizing: content-box;*/
/*position: relative;*/
/*top: 10px;*/
}
caret-color
, 美 /ˈkærət/
caret-color
: auto |
= | | | | | | currentcolor |
auto
currentcolor
,但是用户代理可以根据 currentcolor
的值、背景、阴影等因素,选择不同的颜色,以确保与周围的内容 具有良好的 可视性和对比度。
姓名: <input type="text" class="caretColor">
/*插入光标的颜色*/
.caretColor{
/*margin: 10px;*/
width: 100px;
height: 20px;
caret-color: red;
}
cursor
属性,美 ['kɝsɚ]
cursor
: [ [ [ ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ];
auto
/* 关键字值 Keyword value */
cursor: pointer;
cursor: auto;
/* URL,带有关键字的回退 */
cursor: url(hand.cur), pointer;
/* URL和坐标,以及关键字的回退 */
cursor: url(cursor1.png) 4 12, auto;
cursor: url(cursor2.png) 2 2, pointer;
/* 全局值 Global values */
cursor: inherit;
cursor: initial;
cursor: unset;
⑶ 光标形状的 属性值
auto
url
地址
值。最后 末尾的位置 必须填一个 ❸ 关键字值,它们之间用 ❹ 逗号分隔。
指向一个 图像文件。
后面都可选跟 一对 ❶ 空格分隔的数字
表示 ❷ 光标的热点/偏移。
x
和 y
坐标。两个 ❷ 小于 32
的 ❸ 无单位 ❹ 非负数。hotspot
),相对于 图像的左上角。cursor: url(one.svg), url(two.svg) 5 5, progress;
示例1: 设置 光标图像,不设置 x,y
热点
示例2: 设置光标图像的同时,设置 热点坐标。
<div class="divcontainer">
<p class="poem">明日复明日,明日何其多。
我生待明日,万事成蹉跎。p>
div>
/*设置元素的父元素*/
.divcontainer {
width: 30%;
height: 10%;
margin: 10px;
padding: 10px;
border: solid 10px darkgreen;
}
.poem {
width: 200px;
height: 100px;
margin: 10px;
border: dashed 10px lightskyblue;
padding: 10px;
box-sizing: border-box;
/*⑴ 通用光标类型值*/
/*cursor: auto;*/
/*cursor: none;*/
/*cursor: default;*/
/*⑵ 链接和状态*/
cursor: context-menu;
cursor: help;
cursor: pointer;
cursor: progress;
cursor: wait;
/*⑶ 选择*/
cursor: cell;
cursor: crosshair;
cursor: text;
cursor: vertical-text;
/* ⑷ 拖放 */
cursor: alias;
cursor: copy;
cursor: move;
cursor: no-drop;
cursor: not-allowed;
cursor: grab;
cursor: grabbing;
/* ⑸ 重设大小 和 滚动 */
cursor: all-scroll;
cursor: col-resize;
cursor: row-resize;
cursor: n-resize;
cursor: e-resize;
cursor: s-resize;
cursor: w-resize;
cursor: ne-resize;
cursor: nw-resize;
cursor: se-resize;
cursor: sw-resize;
cursor: ew-resize;
cursor: ns-resize;
cursor: nesw-resize;
cursor: nwse-resize;
/*⑹ 放大缩小*/
cursor: zoom-in;
cursor: zoom-out;
/* ⑺ 设置 光标的图像 和 图像的热点*/
/*cursor: url("../images/star.png"),crosshair;*/
/*cursor: url("../images/star.png") 20 20,crosshair;*/
/*cursor: url("../images/star.png") 32 20,crosshair;*/
}
12
个值⇒ 实际上 只有 4 个双向的箭头 方向。e-resize
= w-resize
= ew-resize
(东西, 东在前) = s-resize
= n-resize
= ns-resize
(南北, 北在前) = ne-resize
= sw-resize
= nesw-resize
(南北,在东西前面) = nw-resize
= se-resize
= nwse-resize
= 属性值分类 | 用于 | 属性值 | 形状 | 示例 |
---|---|---|---|---|
⑹ 放大缩小 | 放大 | zoom-in | ||
缩小 | zoom-out |
resize
属性
overflow
≠ visible
的 ❶ 元素。
overflow
属性值,且 overflow
≠ visible
的值了⇒ resize
就会有效。images
)或视频(videos
),以及 内联框架iframe
的 ❷ 可选替换元素。
图片元素中resize
属性无效 。 (存疑: 此处指的元素 是什么? )
元素 在默认情况下 是可调整大小的。可以使用 resize
属性 覆盖此行为。Inline elements
)overflow
= visible
(默认值) 的块元素。resize: none | both | horizontal | vertical | block | inline;
/* 关键字值 Keyword values */
resize: none;
resize: both;
resize: horizontal;
resize: vertical;
resize: block;
resize: inline;
/* 全局值 Global values */
resize: inherit;
resize: initial;
resize: unset;
none
both
horizontal
,美 /ˌhɔːrɪˈzɑːntl/
vertical
block
= 块级元素的排列方向。(浏览器 支持度差)
writing-mode
)和方向(direction
) 的值。inline
= 内联级元素的 排列方向。(浏览器 支持度差)
<div class="divcontainer">
<p class="poem">明日复明日,明日何其多。
我生待明日,万事成蹉跎。p>
div>
.divcontainer {
width: 30%;
height: 10%;
margin: 10px;
padding: 10px;
border: solid 10px darkgreen;
}
.poem {
/*宽高不设置成固定值⇒ 不文本溢出⇒ 只要设置 overflow≠ visible的值了 resize 属性也有效 */
/*width: 100px;*/
/*height: 50px;*/
margin: 10px;
border: dashed 10px lightskyblue;
padding: 10px;
/*不许换行⇒ 文本溢出⇒ 使用 resize 属性有效前提1,如果没设置这个 只要设置 overflow≠ visible的值了 resize 属性也有效 */
/*white-space: nowrap;*/
/*溢出不能可见 overflow≠ visible⇒ 使用 resize 属性有效 必须前提*/
overflow: auto;
/*overflow: hidden;*/
/*overflow:scroll;*/
/* 可调整属性和调整方向 */
resize: none;
resize: both;
/*resize: horizontal;*/
/*resize: vertical;*/
}
user-select
属性
user-select
: auto | text | none | contain | all;
/* 关键字值 Keyword values */
user-select: none;
user-select: auto;
user-select: text;
user-select: contain;
user-select: all;
/* 全局值 Global values */
user-select: inherit;
user-select: initial;
user-select: unset;
/* 前缀 Mozilla-specific values */
-moz-user-select: none;
-moz-user-select: text;
-moz-user-select: all;
/* 前缀 WebKit-specific values */
-webkit-user-select: none;
-webkit-user-select: text;
-webkit-user-select: all; /* 在 Safari 中无效; 仅使用
"none" or "text", 否则 it will
allow typing in the container */
/* 前缀 Microsoft-specific values */
-ms-user-select: none;
-ms-user-select: text;
-ms-user-select: element;
none
auto
text
all
contain
(= element
,IE-specific alias)
element
= contain
仅在 IE 中受支持。-moz-user-select
不会被 绝对定位的元素继承,但在 Safari 和Chrome中,-webkit-user-select
由这些元素继承。<div class="divcontainer">
明日歌
<p class="poem">明日复明日,明日何其多。
我生待明日,万事成蹉跎。p>
div>
/*设置 元素的包含块 */
.divcontainer {
width: 20%;
height: 10%;
margin: 10px;
padding: 10px;
border: solid 10px darkgreen;
text-align: center;
font-weight: bold;
/* 设置文本的可选择性 */
user-select: none;
/*user-select: auto;*/
/*user-select: text;*/
/*user-select: all;*/
/*user-select: contain;*/
/*user-select: element;!*IE中*!*/
}
.poem {
/*宽高不设置成固定值⇒ 不文本溢出⇒ 只要设置 overflow≠ visible的值了 resize 属性也有效 */
/*width: 100px;*/
/*height: 50px;*/
margin: 10px;
border: dashed 10px lightskyblue;
padding: 10px;
font-weight: normal;
letter-spacing: 1px;
/*子元素中 重启文本选中*/
/*user-select: text;*/
}