能够把 块容器 中的内容限制为指定的行数。而且在超过行数后,在最后一行显示"..."css
这是正常的展现html
display: -webkit-box; /*值必须为-webkit-box或者-webkit-inline-box*/ -webkit-box-orient: vertical; /*值必须为vertical*/ -webkit-line-clamp: 2; /*值为数字,表示一共显示几行*/ overflow: hidden;
这是加了 line-clamp 后的展现web
https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-line-clampcanvas
将除却 unicode-bidi 与 direction 以外的全部属性重设至其初始值,或继承值。ruby
all: unset; /*initial | inherit | unset*/
initial 改变该元素全部属性的值至初始值。inherit 改变该元素的值 至 从父元素继承的值编辑器
unset 若是该元素的属性的值是可继承的,重置为父元素的继承的值,反之则改变为初始值。ide
https://developer.mozilla.org/zh-CN/docs/Web/CSS/box-decoration-breaksvg
用来定义插入光标(caret)的颜色,这里说的插入光标,就是那个在网页的可编辑器区域内,用来指示用户的输入具体会插入到哪里的那个一闪一闪的形似竖杠 | 的东西。函数
caret-color: red;
clip-path 属性使用裁剪方式建立元素的可显示区域。区域内的部分显示,区域外的隐藏。相似的裁剪还有 svg 的 clipPath。布局
clip-path 的取值有如下几种图形
inset(xxx): 裁剪为长方形circle(xx): 裁剪为原型
ellipse(xxx): 裁剪为椭圆
polygon(xx): 裁剪为多边形
none: 不裁剪
例子前的准备
<div style="width: 500px; height: 500px;text-align: left;background-color:gray;color:white" > <img class="clip-mode" style="float: left; margin:20px" src="https://interactive-examples.mdn.mozilla.net/media/examples/balloon-small.jpg" width="150" /> We had agreed, my companion and I, that I should call for him at his house, after dinner, not later than eleven o’clock. This athletic young Frenchman belongs to a small set of Parisian sportsmen, who have taken up “ballooning” as a pastime. After having exhausted all the sensations that are to be found in ordinary sports, even those of “automobiling” at a breakneck speed, the members of the “Aéro Club” now seek in the air, where they indulge in all kinds of daring feats, the nerve-racking excitement that they have ceased to find on earth. </div>
不裁剪
clip-path: none;
圆形裁剪
clip-path: circle(40%); //半径为40%,圆心默认为中心
椭圆裁剪
clip-path: ellipse(130px 140px at 10% 20%);
多边形裁剪
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
咱们能够看到上面图形如何裁剪,外面的看不见的框始终是矩形,也就是说文字始终是按矩形的样式在周围环绕。
那么有办法让文字牢牢的贴在裁剪的图形周围呢?
有的,使用 shape-outside 属性
shape-outside 定义了一个能够是 非矩形的形状,相邻的内联内容应围绕该形状进行包裹。默认状况下,内联内容包围其矩形边距;
默认矩形环绕
clip-path: none; shape-outside: none
圆形环绕
clip-path: circle(40%); shape-outside: circle(40%);
椭圆环绕
clip-path: ellipse(130px 140px at 10% 20%); shape-outside: ellipse(130px 140px at 20% 20%);
多变性环绕
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); shape-outside: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
固然你不必定在圆形裁剪上,使用圆形环绕,你能够在圆形裁剪上使用多边形环绕,在多边形裁剪上,使用菱形环绕。总之这两个之间不要紧,不是两两匹配的。都随你便,本身定义
object-fit 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度肯定的框。object-position 属性来指定被替换元素的内容对象在元素框内的对齐方式。
注: 其中可替换元素有 iframe,video,embed,img,还有一些在特性状况也是可替换元素,option,audio,canvas,object
例子前的准备
<div style="width: 300px; height: 300px; background-color:gray;"> <img class="clip-mode" style="height: 100%; width: 100%;" src="https://interactive-examples.mdn.mozilla.net/media/examples/plumeria.jpg"> </div>
图片必定能要设置为宽高 100%,即不能超过父容器,才能够设置 object-fit,不然没意义。
fill 填满 图片会拉变形,宽度和高度都被拉到父容器的 100%,以适应父容器
object-fit: fill;
contain 包容 图片不会变形,图片会按照自身比例进行缩放,整个图片放入父容器中,较短的边会出现自动填充的空白。
object-fit: contain;
cover 覆盖 图片不会变形,图片会按照自身比例进行缩放,整个图片放入父容器中,按照图片最短的边,归入父容器为基准。较长的边会溢出
object-fit: cover;
none 和父容器的宽高不要紧。展现其图片最原始的宽高比,以自身图片的“中心”为基点,放置到父容器的“中心”位置。
object-fit: none;
scale-down 内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁获得的对象尺寸会更小一些。
object-fit: scale-down;
若是图片比父容器尺寸大,那么按照 contain 的效果,若是图片比父容器小,那么按照 none 的效果。
在上面 object-fit 的展现中,咱们发现可替换元素的对齐方式都是自动的。
好比 object-fit: fill; 的左上角和父容器的左上角对齐。
object-fit: none;的中心和父容器的中心对齐等等。
可是咱们想手动更改对齐方式呢??
可使用 object-position 属性, 规定了可替换元素的内容,在其内容框中的位置。
object-position: 10px 10px; 能够设置 px,第一个值表明距离父容器左边的距离,第二个值表明距离父容器顶部的距离。只有一个数值则只表明距离父容器左侧的距离。也能够设置%数值,但此时只有某一边有空白才会起做用,若是没有空白,恰好铺满父元素,则不起做用。设置 px 就没有这样的问题,任何以后都会起做用。object-position: right top;能够设置关键字,第一个值关键字可设置(left|center|right),第二个关键字可设置(top|center|bottom),此时不表示距离左侧或者顶部的距离,而表示放置在父元素的什么位置。
object-fit: fill; object-position: 50px 50px; //距离左侧10px,距离顶部10%
加 object-position 先后对比图:
object-fit: contain; object-position: right top; //停留子 右上方
加 object-position 先后对比图:
为字体定义一个正常或通过伸缩变形的字体外观,它仅仅意味着当有多种字体可供选择时,会为字体选择最适合的大小。
normal 默认字体semi-condensed, condensed, extra-condensed, ultra-condensed 小于默认字体
semi-expanded, expanded, extra-expanded, ultra-expanded 大于默认字体
能够控制大写字母特殊字符的使用。
控制对东亚字符(如日语和汉语,韩语等)使用替代符号。
值有一下几种:
normal; ruby; jis78; jis83; jis90; jis04; simplified; traditional; full-width; proportional-width
这几个值均可用在 width, height, min-width, min-height, max-width 和 max-height 属性上。
display 必须为 inline-block 或者 block,不然上面的值不起做用。
元素撑满可用空间。参考的基准为父元素有多宽多高。
相似子元素的 div 撑满父元素的宽,fill-available 不只能够撑满宽还能撑满高。
例子前的代码
<div style="width: 300px; height: 100px; background-color:gray;"> <span style="display:inline-block;background-color: burlywood;" >这是子元素的内容</span > </div>
给 span 上设置 fill-available 时的不一样表现
假如里面的有个元素,是 img 呢?它也是 inline-block,应该也知足状况。
咱们能够看到 img 和 span 的不一样在于,设置 width 或者 height 其中一个时,整个 image 会按照自身比例缩放。
它的宽度或者高度,会自动调整为,刚恰好容纳下子元素中那个长度最长(按照文字不换行时计算)的元素便可。
参考的基准为子元素有多宽多高。
<div class="parent"> <div class="current" style="width: 200px; height: 300px; background-color:gray;"> <p>这是普通的p元素行,内容为文字</p> <img src="https://interactive-examples.mdn.mozilla.net/media/examples/balloon-small.jpg"/> </div> </div>
给 current div 设置 max-content 时得不一样表现。
它的宽度或者高度,会自动调整为,刚恰好容纳下子元素中那个“最小宽度值”最大的元素便可,剩余超长的要么换行,要么溢出
参考的基准为子元素“最小宽度值”有多宽多高。
什么是“最小宽度值”?
好比图片,最小宽度值,就是图片原始的宽高;若是是一串中文,则最小宽度值为单个汉字的宽高;若是是一串英文,则最小宽度值为里面单词最长的那个。
表示元素自动伸缩到内容的宽度,和 max-content 的区别为,都是刚恰好容纳下子元素中那个长度最长的元素便可。
不一样的是 max-content 在计算时按照文字不换行时计算,若是超过父元素,则不换行,直接产生滚动条; 而 fit-content 在超过父元素后,换行,不产生滚动条。
这个不一样于上面的 fit-content 值,它是函数,用在 grid 布局当中。
(略)
具体查看 grid 布局。
比较简单,能够查看
当用户经过 API 触发滚动操做时,CSS 属性 scroll-behavior 为一个滚动框指定滚动行为, 平滑到达仍是当即到达
能够查看
官方文档
max 在二者这件取最大;min 函数在二者之间取最小。
max,min 能够用在任何能够设置 <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> 等值的地方
width: max(50vw, 300px); width: min(50vw, 300px);
clamp 函数会在定义的 三个值之间,取中间的那个值,是大小在中间,不是位置在中间,
clamp(MIN, VAL, MAX)
和 max,min 函数同样,能够用在任何能够设置 <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> 等值的地方
font-size: clamp(1px, 3px, 2px); //中间值为2px font-size: clamp(1px, 3px, 5px); //中间值为3px font-size: clamp(4px, 3px, 5px); //中间值为4px
width: clamp(200rem, 25vw, 150px); //在这三个之间取中间值
在渐变中咱们知道,有:
除此以外,还有一种渐变,叫"锥形渐变"。它是围绕中心点按照扇形方向进行旋转的渐变(而不是从中心点辐射)
这是锥形和径向渐变的区别图
background: conic-gradient(red, orange, black, green, blue);
默认从时钟 12 点,按照顺时针旋转
比较简单,能够查看官方文档
定义了文本水平或垂直排布以及在块级元素中文本的书写方向
horizontal-tb 表示水平书写,从上(top)到下(bottom)书写vertical-rl 表示垂直书写,从右(right)向左(left)(古人书法就这么写的)
vertical-lr 表示垂直书写,从左向右
注意没有 horizontal-bt,不要杜撰
和元素的 width,height 效果同样,都会改变盒子的大小。可是会覆盖 width,height 值。
不一样在于,width 是绝对的水平方向,height 是绝对的竖直方向;
而 inline-size 是相对的水平方向,可经过 writing-mode 模式,改变方向
相似于 inline-size,只不过和 inline-size 恰好相反,block-size 默认设置的是 height 方向的值。