十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在网站设计中,有时候会遇到对一张图片做多处使用,而每处显示的尺寸又不一定都一样,在传统作法中,需要根据不同尺寸
成都创新互联公司制作网站网页找三站合一网站制作公司,专注于网页设计,网站设计制作、网站建设,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为成百上千服务,成都创新互联公司网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
设计不同的图片。不过利用css,能够很好解决这个问题。
一、直接设置图片的width,height,或者直接改变图片的长宽比例
虽然简单方便,但是会引起图像显示效果问题。因为浏览器不能像ps那样对图像以相对尺寸进行缩放运算,实际显示虽然简单方便,但是会引起图像显示效果问题。因为浏览器不能像ps那样对图像以相对尺寸进行缩放运算,实际显示时图像会出现像素位移的状况。
二、使用clip剪切
CSS对许多对象提供专门用于对象剪切的样式属性——clip,可用clip属性来处理对象最终的显示内容。
clip 设置对象的可视区域。只对绝对定位的对象有效,应用此属性时,对象必须使用position:absolute
可用值:auto, rect(number,number,number,number)
使用clip属性进行对象剪切时,必须给的4个数值。使用方法如下
clip:rect(number1,number2,number3,number4);
number1~number4分别代表上、右、下、左4个边,相对与左上角坐标(0,0)的偏移值。
(这点与margin四个数值代表边的顺序相同,不同的margin的四个值都是相对于自身内容的四边的偏移)
三、使用div强制剪切
使用overflow:hidden;的对象将强制不显示对象中超过对象范围的部分内容
2021年2月19日学习笔记
【椭圆】
【半椭圆】
沿纵轴对称,如果传4个值,分别从左上角开始以顺时针应用到各个拐角,如果提供3个值,意味着第4个值与第2个值相同
4个角还可以有不同的水平和垂直半径,在斜杠前指定1~4个值,在斜杠后指定1~4个值
当border-radius: 10px / 5px 20px时,相当于
border-radius: 10px 10px 10px 10px / 5px 20px 5px 20px;
【四分之一椭圆】
其中一个角的水平和垂直半径值都需要是100%,而其他三个角都不能设为圆角
【扩展练习】
【平行四边形】
【平行四边形--伪元素】
【八角形】
【菱形】
需要图片的宽度与容器的对角线相等,而max-width: 100%是边长相等
scale()变形样式,是以它的中心点进行缩放的,除非额外指定了transform-origin
通过width属性来放大图片时,只会以它的左上角为原点进行缩放,需要负外边距调整
【裁切路径方案clip-path菱形】
【相关知识点】
clip-path属性 可以防止部分元素通过定义的剪切区域来显示(目前兼容性较差,IE和Edge不支持)
生成器
一、基本图形
inset()矩形(上右下左的边距round上右下左圆角)
inset()可以传入5个参数,分别对应top,right,bottom,left的裁剪位置,round radius(可选,圆角)
circle圆形
circle()可以传人2个可选参数:
1. 圆的半径,默认元素宽高中短的那个为直径,支持百分比
2. 圆心位置,默认为元素中心点
半径公式
如果半径使用百分比:圆的半径 = (sqrt(width^2+height^2)/sqrt(2)) * 百分比
ellipse椭圆
ellipse()可以传人3个可选参数;
1. 椭圆的X轴半径,默认是宽度的一半,支持百分比
2. 椭圆的Y轴半径,默认是高度的一半,支持百分比
3. 椭圆中心位置,默认是元素的中心点
二、多边形polygon--正三角形
x: 0, y:100% 从元素的左上角开始,并从那里开始移动
x: 50%, y: 0
x: 100%, y: 100% 元素右边,元素底部
从左下角x: 0, y:100%开始,水平移动到50%,然后垂直向上到达顶部的坐标点(第二个点),接着水平移动到100%的位置,最后垂直向下回到底部,到达第三个坐标点
正方形
从左上角开始,垂直向下100%第二个点,平移100%第三个点,垂直向上0第四个点
正五边形 59/(59+95)=38.31%,31/(81*2)=19.14%
162/2 = 81
59是上面三角形的高度
95是下面三角形的高度
31是下面四边形的高度
正六边形 50/(100+50 2)=25%,150/(100+50 2)=75%
50 是左边三角形的高度
100 是边长
正七边形
22/(100+62 2)=10.09%
202/(100+62 2)=90.18%
43/(43+97+78)=19.72%
(43+97)/(43+97+78)=64.22%
62/(100+62 2)=27.68%
(100+62)/(100+62 2)=72.32%
正八边形
71/(100+71 2)=29.34%
(71+100)/(100+71 2)=70.66%
五角星
红叉叉
标签
也可用于动画中
如果觉得百分比不好计算,可以换算成px
下面就是第一个点的计算方法
35.00%*800=280px
29.75%*400=119px
只要两个 clip-path,其中包含的点个数相同,在animation的帧内部就可以线性切换了
如果不同是没有效果的
小技巧,如果点不够,可以将两个坐标点进行重合即可
推荐网址:
30个动物全部使用CSS3写的。超牛
clip属性说明:
检索或设置对象的可视区域。可视区域外的部分是透明的。
此属性定义了绝对(absolute)定位对象可视区域的尺寸。必须将 position 属性的值设为 absolute ,此属性方可使用。
clip属性基础语法:
clip : auto rect ( number number number number )
取值:
auto : 默认值。对象无剪切
rect ( number number number number ) : 依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用 auto 替换,即此边不剪切
注意事项:
一、clip属性必须和定位属性postion一起使用才能生效。
二、clip裁切的计算坐标都是以左上角即(0,0)点开始计算,这点不像padding和margin,它们两个的右边距和下边距是从最右边和最下边开始计算的。
兼容性:现代浏览器都支持
示例
html:
<div id="imgClip"img src="1.jpg" width="159"height="99" / br</div
css:
#imgClip {position:relative; width:159px; height:99px; background:#FFF985; margin:0auto; }
#imgClip img { position:absolute; clip:rect(21px 68px 51px 38px); }
定义
clip 属性设置元素的形状。
当一幅图像的尺寸大于包含它的元素时会发生什么呢?"clip" 属性允许您规定一个元素的可见尺寸,这样此元素就会被修剪并显示为这个形状。
继承性:No
说明
这个属性用于定义一个剪裁矩形。对于一个绝对定义元素,在这个矩形内的内容才可见。出了这个剪裁区域的内容会根据 overflow 的值来处理。剪裁区域可能比元素的内容区大,也可能比内容区小。
JavaScript 语法
CSS 属性也可通过一段 JavaScript 被动态地改变。
脚本语法:
object.style.clip="rect(0px,50px,50px,0px)"在我们的 HTML DOM 教程中,您可以找到更多有关 clip 属性 的细节。
在我们的 HTML DOM 教程中,您也可以找到完整的 Style 对象参考手册。
例子
img
{
clip: rect(10px, 5px, 10px, 5px)
}
值 描述
shape 设置元素的形状。合法的形状值是:rect (top, right, bottom, left)
auto 默认。浏览器可设置元素的形状。
裁剪属性,就看你后面属性值了
clip:rect(上,右,下,左);
如果你设置了上下的值,那高度就会改变了