svg 学习记录之 viewBox 属性

规则就是 viewBox 的宽高小于 svg 的宽高就会放大, 反之就会缩小

首先可以想象 svg 标签是一个屏幕, viewBox 是一个截屏窗口大小, 而 rect 是截取窗口里面的内容, 当你截屏完成后, 你要把这个截取的图片放在一个名为 svg 的屏幕上, 这时候如果 viewBox 小于舞台大小, 那就要放大截图来铺满 svg, 如果 viewBox 大于 svg 的尺寸那就要缩小截图来达到铺满 svg 舞台

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <svg width="400" height="344"  style="border: 10px solid red;">
    <rect id="r" x="0" y="0" width="30" height="34" fill="#000"></rect>
  </svg>
</body>

</html>
  1. 没有 viewBox 属性的效果
    这里的 svg 的宽度为 400, 高度为344, 先忽略 viewBox 属性, 正常情况下应该是 宽度为30, 高度为34的rect 被展示在 svg里面

在这里插入图片描述
有 viewBox 的效果 , 现在的 viewBox 是远大于 svg的宽高

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>

<body>
 <svg width="400" height="344" viewBox="0,0,900,900" style="border: 10px solid red;">
   <rect id="r" x="0" y="0" width="30" height="34" fill="#000"></rect>
 </svg>
</body>

</html>

在这里插入图片描述

有 viewBox 的效果 , 现在的 viewBox 是远小区 svg 的宽高

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <svg width="400" height="344" viewBox="0,0,200,200" style="border: 10px solid red;">
    <rect id="r" x="0" y="0" width="30" height="34" fill="#000"></rect>
  </svg>
</body>

</html>

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值