Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SVG填充宽度到子元素

SVG填充宽度到子元素
EN

Stack Overflow用户
提问于 2014-05-04 04:25:00
回答 3查看 3.3K关注 0票数 4

我想让我的容器SVG元素缩放,以便适合它的子组元素,或者让它在溢出时显示滚动条。我想知道是否有一个css属性来做到这一点。

例如,如果标记如下所示:

代码语言:javascript
运行
AI代码解释
复制
<div class="wrapper" style="width:500px; overflow-x:scroll;">
   <svg class="main">
      <g width="1000"></g>
   </svg>
</div>

我如何让svg的宽度填充到'1000‘,或者如果子元素超过宽度就显示滚动条?

以下css对上述内容没有影响:

代码语言:javascript
运行
AI代码解释
复制
.main {
    width: 500px; // Setting to 100% also does nothing
    overflow-x: scroll;
}

目前,我使用javascript根据需要更新svg容器的宽度,以达到预期的效果;但这很麻烦,而且容易出错,因为我需要检查以确保在svg中添加任何新元素时,svg容器的大小都会调整到合适的大小。

任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2014-05-04 17:11:10

<svg>中删除widthheight,然后添加一个viewBox属性。此外,您还需要一个具有所需行为的值的preserveAspectRatio属性。

有关更多详细信息,请查看here。此方法使用SVG视口,乍一看有点复杂,但实际上,它将可见尺寸与图形的图形设置分开。这样,<svg>从它所处的上下文接收其宽度和高度,在本例中是从css接收的。

我花了一段时间来理解这个概念,但一旦你理解了它,你就会注意到它给了你很大的灵活性,这实际上比像素图像要多得多。

票数 2
EN

Stack Overflow用户

发布于 2014-05-04 06:00:34

我不确定这是否解决了您的问题,但是您可以将约束放在svg的父标记( div标记)上。

如下所示:

代码语言:javascript
运行
AI代码解释
复制
<div class="wrapper">
  <svg class="main" xmlns="http://www.w3.org/2000/svg">
    <g>
      <rect x="20" y="20" height="250" width="400" style="fill:#006600"/>       
    </g>
  </svg>
</div>

.wrapper {
    width: 200px;
    height: 100px;
    overflow: scroll;
}
.main {
    width: 400px; 
    height: 250px;
}

这是一个jsfiddle

票数 0
EN

Stack Overflow用户

发布于 2014-05-05 04:42:06

当您向SVG添加元素时,无法让SVG自动更新其宽度和高度。您所能做的就是手动更新宽度和高度。

但是,不必每次添加内容时都要更新SVG的宽度和高度,您可以添加一个间隔计时器函数来为您执行检查。

代码语言:javascript
运行
AI代码解释
复制
setInterval(mySVGCheckFn, 500);

function  mySVGCheckFn() 
{
    var  svg = document.getElementById("mysvg");
    var  bbox = svg.getBBox();

    // Add 10 padding for some breathing space    
    svg.setAttribute("width", bbox.x + bbox.width + 10);
    svg.setAttribute("height", bbox.y + bbox.height + 10);
}

Demo here

单击“添加更多”将随机圆添加到SVG中。

DOM2添加了一些事件类型,这些事件类型应该在您向DOM添加节点时触发。它们将是理想的解决方案,但是我相信它们并不是在所有浏览器上都能得到可靠支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23452610

复制
相关文章
在PySpark上使用XGBoost
我这里提供一个pyspark的版本,参考了大家公开的版本。同时因为官网没有查看特征重要性的方法,所以自己写了一个方法。本方法没有保存模型,相信大家应该会。
Sam Gor
2021/04/26
5.2K1
用PySpark开发时的调优思路(上)
这一小节的内容算是对pyspark入门的一个ending了,全文主要是参考学习了美团Spark性能优化指南的基础篇和高级篇内容,主体脉络和这两篇文章是一样的,只不过是基于自己学习后的理解进行了一次总结复盘,而原文中主要是用Java来举例的,我这边主要用pyspark来举例。文章主要会从4个方面(或者说4个思路)来优化我们的Spark任务,主要就是下面的图片所示:(本小节只写了开发习惯调优哈)
Sam Gor
2021/06/25
1.6K0
用PySpark开发时的调优思路(上)
大型网站架构体系的演变(上)
互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。
哲洛不闹
2018/09/19
3980
大型网站架构体系的演变(上)
PySpark|从Spark到PySpark
简单的说Apache Spark是一个开源的、强大的分布式查询和处理引擎,它提供MapReduce的灵活性和可扩展性,但速度明显要快上很多;拿数据存储在内存中的时候来说,它比Apache Hadoop 快100倍,访问磁盘时也要快上10倍。
数据山谷
2020/11/06
3.5K1
PySpark入门级学习教程,框架思维(上)
为什么要学习Spark?作为数据从业者多年,个人觉得Spark已经越来越走进我们的日常工作了,无论是使用哪种编程语言,Python、Scala还是Java,都会或多或少接触到Spark,它可以让我们能够用到集群的力量,可以对BigData进行高效操作,实现很多之前由于计算资源而无法轻易实现的东西。网上有很多关于Spark的好处,这里就不做过多的赘述,我们直接进入这篇文章的正文!
Sam Gor
2021/04/26
1.7K0
PySpark入门级学习教程,框架思维(上)
pyspark
print("pyspark version"+str(sc.version)) map
Tim在路上
2020/08/05
1K0
Effective PySpark(PySpark 常见问题)
首先确保安装了python 2.7 ,强烈建议你使用Virtualenv方便python环境的管理。之后通过pip 安装pyspark
用户2936994
2018/08/27
2.2K0
pySpark | pySpark.Dataframe使用的坑 与 经历
笔者最近在尝试使用PySpark,发现pyspark.dataframe跟pandas很像,但是数据操作的功能并不强大。由于,pyspark环境非自建,别家工程师也不让改,导致本来想pyspark环境跑一个随机森林,用 《Comprehensive Introduction to Apache Spark, RDDs & Dataframes (using PySpark) 》中的案例,也总是报错…把一些问题进行记录。
悟乙己
2019/05/26
8.2K0
PySpark 的背后原理
本文介绍了 PySpark 的背后原理,包括其运行时架构、Driver 端和 Executor 端的运行原理,并分析了在大数据场景下使用 PySpark 的利弊。
涂小刚
2017/07/06
7.5K6
PySpark 的背后原理
PySpark︱pyspark.ml 相关模型实践
官方案例来源:https://spark.apache.org/docs/latest/api/python/pyspark.ml.html#pyspark.ml.classification.MultilayerPerceptronClassifier
悟乙己
2020/03/27
2K0
【Python】PySpark 数据处理 ② ( 安装 PySpark | PySpark 数据处理步骤 | 构建 PySpark 执行环境入口对象 )
命令 , 安装 PySpark , 安装过程中 , 需要下载 310 M 的安装包 , 耐心等待 ;
韩曙亮
2023/10/11
5330
【Python】PySpark 数据处理 ② ( 安装 PySpark | PySpark 数据处理步骤 | 构建 PySpark 执行环境入口对象 )
pyspark记录
1.1 spark.read.json() / spark.read.parquet() 或者 spark.read.load(path,format=”parquet/json”)
DuncanZhou
2018/09/04
1.3K0
【译文】MapReduce:大型集群上的简化数据处理
MapReduce是一个编程模型,以及处理和生成大型数据集的一个相关实现,它适合各种各样的现实任务。用户指定计算的map和reduce函数。底层运行系统自动地将大规模集群机器间的计算并行化,处理机器故障,以及调度机器间通信以充分利用网络和磁盘。程序员会发现这个系统很好使用:在过去的去年中,超过一万个不同的MapReduce程序已经在Google内部实现,平均每天有十万个MapReuce作业在Google集群上被执行,每天总共处理20PB以上的数据。
Gaussic
2018/08/17
8010
【译文】MapReduce:大型集群上的简化数据处理
pyspark on hpc
本地内部集群资源有限,简单的数据处理跑了3天。HPC上有很多计算资源,出于先吃锅里的再吃碗里的思想,琢磨先充分利用共有资源。简单调研下,也不是很复杂的事情。
flavorfan
2021/12/10
1.7K0
pyspark on hpc
PySpark简介
Apache Spark是一个大数据处理引擎,与MapReduce相比具有多个优势。通过删除Hadoop中的大部分样板代码,Spark提供了更大的简单性。此外,由于Spark处理内存中的大多数操作,因此它通常比MapReduce更快,在每次操作之后将数据写入磁盘。
双愚
2018/08/30
7.1K0
pyspark记录
1.1 spark.read.json() / spark.read.parquet() 或者 spark.read.load(path,format=”parquet/json”)
DuncanZhou
2020/01/21
9930
pyspark之从HDFS上读取文件、从本地读取文件
hdfs上的路径: path="hdfs:///主机名:端口号/地址" 本地上的路径: path"file:///本地地址" 读取文件: rdd=sc.textFile(path)
西西嘛呦
2020/08/26
5.3K0
速读原著-Gradle 在大型 Java 项目上的应用
在 Java 构建工具的世界里,先有了 Ant,然后有了 Maven。Maven 的 CoC[1]、依赖管理以及项目构建规则重用性等特点,让 Maven 几乎成为 Java 构建工具的事实标准。然而,冗余的依赖管理配置、复杂并且难以扩展的构建生命周期,都成为使用 Maven 的困扰。
cwl_java
2020/02/14
2.1K0
Python大数据之PySpark(二)PySpark安装
spark-submit 提交圆周率的计算代码 */examples/src/main/python/pi.py*
Maynor
2023/09/28
3K0
Python大数据之PySpark(二)PySpark安装
python中的pyspark入门
PySpark是Python和Apache Spark的结合,是一种用于大数据处理的强大工具。它提供了使用Python编写大规模数据处理和分析代码的便利性和高效性。本篇博客将向您介绍PySpark的基本概念以及如何入门使用它。
大盘鸡拌面
2023/10/21
7890

相似问题

PySpark/Delta数据仓库的高效执行

12

加载大型数据仓库表的更快方法

42

无法使用大型字典的Pyspark

10

如何在pySpark数据仓库中添加行id

116

大型数据帧( pyspark)上的EMR笔记本会话在数秒内超时(使用pyspark)

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档