问题标签 [alignment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
225386 浏览

html - CSS - 使 div 水平对齐

我有一个带有固定widthand的容器 div height,带有overflow: hidden.

我想要一个水平的浮动行:这个容器内的左 div。向左浮动的 div 在读取其父级的右边界后自然会推到下面的“线”上。即使height父母不允许这样做,也会发生这种情况。这是这样的:

错误的

我希望它看起来如何:

![Right][2] -删除了已被广告替换的图片小屋图片

注意:我想要的效果可以通过使用内联元素 & 来实现white-space: no-wrap(我在显示的图像中就是这样做的)。然而,这对我没有好处(因为这里解释的原因太长了),因为子 div 需要浮动块级元素。

0 投票
14 回答
6148 浏览

formatting - Code formatting: is lining up similar lines ok?

I recently discovered that our company has a set of coding guidelines (hidden away in a document management system where no one can find it). It generally seems pretty sensible, and keeps away from the usual religious wars about where to put '{'s and whether to use hard tabs. However, it does suggest that "lines SHOULD NOT contain embedded multiple spaces". By which it means don't do this sort of thing:

Or this:

Or this:

The justification for this is that changes to one line often require every line to be edited. That makes it more effort to change, and harder to understand diffs.

I'm torn. On the one hand, lining up like this can make repetitive code much easier to read. On the other hand, it does make diffs harder to read.

What's your view on this?

0 投票
125 回答
4547916 浏览

html - 如何水平居中元素

如何使用 CSS<div>在另一个中水平居中?<div>

0 投票
4 回答
1534 浏览

c - char和整数数组之间的速度差异?

目前我正在处理一个视频处理软件,其中图片数据(8位有符号和无符号)存储在分配为 16 位对齐整数的数组中

一般来说,如果使用这样的有符号/无符号字符数组,它不会加快读写速度吗?:

我对缓存行大小和数据传输优化知之甚少,但至少我知道这是一个问题。除此之外,SSE 将在未来使用,在这种情况下,char-arrays - 与 int 数组不同 - 已经是打包格式。那么哪个版本会更快呢?

0 投票
1 回答
155 浏览

hex - 二进制数据库对齐或打包

有没有办法通过十六进制编辑器或其他方式查看二进制文件中的数据是否对齐或打包,特别是对于 HPUX 系统?

0 投票
5 回答
11803 浏览

opengl - 将 Z 轴与矢量对齐的最简单方法是什么?

给定一个点,例如 (0, 0, 0) 和一个向量,例如 (x, y, z)。对齐以 (0, 0, 0) 为中心的负 Z 轴以指向该向量的方向的最简单方法是什么?欢迎使用 OpenGL 的示例,但不是必需的。

0 投票
11 回答
5261 浏览

c++ - C 编译器可以重新排列堆栈变量吗?

过去我从事过嵌入式系统的项目,我们重新安排了堆栈变量的声明顺序以减小生成的可执行文件的大小。例如,如果我们有:

我们将其重新排序为:

由于对齐问题,第一个导致使用了 12 个字节的堆栈空间,而第二个导致仅使用了 8 个字节。

这是 C 编译器的标准行为还是我们使用的编译器的一个缺点?

在我看来,如果编译器愿意,它应该能够重新排序堆栈变量以支持更小的可执行文件大小。有人向我建议 C 标准的某些方面阻止了这种情况,但无论哪种方式我都无法找到有信誉的来源。

作为一个额外的问题,这是否也适用于 C++ 编译器?

编辑

如果答案是肯定的,C/C++ 编译器可以重新排列堆栈变量,你能举一个绝对做到这一点的编译器的例子吗?我想查看编译器文档或类似的东西来支持这一点。

再次编辑

谢谢大家的帮助。对于文档,我能找到的最好的东西是 Naveen Sharma 和 Sanjiv Kumar Gupta 的论文GCC 中的 Optimal Stack Slot Assignment (pdf),它在 2003 年的 GCC 峰会上发表。

这里讨论的项目是使用 ADS 编译器进行 ARM 开发。在该编译器的文档中提到,像我展示的排序声明可以提高性能以及堆栈大小,因为 ARM-Thumb 体系结构如何计算本地堆栈帧中的地址。该编译器不会自动重新排列本地变量以利用这一点。此处链接的论文说,截至 2003 年,GCC 也没有重新排列堆栈帧以改善 ARM-Thumb 处理器的参考位置,但这意味着您可以。

我找不到任何可以肯定地说这曾经在 GCC 中实现过的东西,但我认为这篇论文可以证明你都是正确的。再次感谢。

0 投票
5 回答
584 浏览

c++ - 隐藏在 C++ 类的嵌入式字符数组中的数据成员的性能、安全性和对齐方式是什么?

我最近看到一个代码库,我担心它违反了对齐约束。我已经对其进行了清理以生成一个最小的示例,如下所示。简而言之,球员是:

  • 游泳池。对于“高效”的某些定义,这是一个有效分配内存的类。保证返回与请求大小对齐的一块内存。

  • 对象列表。此类存储对象的同类集合。一旦对象的数量超过某个阈值,它就会将其内部表示从列表更改为树。Obj_list的大小是一个指针(在 64 位平台上为 8 个字节)。它的商店当然会超过这个。

  • 聚合。此类代表系统中非常常见的对象。它的历史可以追溯到早期的 32 位工作站时代,它被“优化”(在同一个 32 位时代)以使用尽可能少的空间。Aggregate可以为空,也可以管理任意数量的对象。

在此示例中,聚合项始终从Pool分配,因此它们始终对齐。此示例中Obj_list的唯一出现是Aggregate对象中的“隐藏”成员,因此它们总是使用Placement new分配。以下是支持类:

这里是聚合。请注意成员声明member_list_store_d

我最关心的是那个数据成员。这是初始化和访问的伪代码:

您可能会建议我们将 char 数组替换为指向Obj_list类型的指针,初始化为 NULL 或类的实例。这给出了正确的语义,但只是改变了内存成本。如果内存仍然很宝贵(它可能是,这是一种 EDA 数据库表示),在Aggregate对象确实有成员的情况下,用指向Obj_list的指针替换 char 数组将花费更多的指针。

除此之外,我真的不想分心这里的主要问题,即对齐。我认为上述构造是有问题的,但在标准中找不到比对 'system/library' new的对齐行为的一些模糊讨论更多的内容。

那么,上述构造除了导致偶尔的管道停顿之外还有什么作用吗?

编辑:我意识到有一些方法可以使用嵌入式 char 数组替换该方法。最初的建筑师也是如此。他们丢弃了它们,因为内存非常宝贵。现在,如果我有理由接触该代码,我可能会更改它。

然而,我的问题是,关于这种方法固有的对齐问题,我希望人们能解决这个问题。谢谢!

0 投票
4 回答
10417 浏览

wpf - 如何在 WPF 中对齐画布背景?

我已将画布背景设置为公司徽标的图像。我希望这张图片与画布的右下角对齐。
是否可以这样做,或者是否需要将图像作为孩子添加到画布中?这不适用于该程序,因为画布的所有子项都以不同方式处理。

谢谢你

0 投票
8 回答
103148 浏览

wpf - Horizo​​ntalAlignment=Stretch、MaxWidth 和 Left 同时对齐?

这似乎应该很容易,但我很难过。在 WPF 中,我想要一个 TextBox 可以延伸到其父级的宽度,但只能延伸到最大宽度。问题是我希望它在其父级中保持合理。要使其拉伸,您必须使用 Horizo​​ntalAlignment="Stretch",但结果会居中。我已经尝试过 Horizo​​ntalContentAlignment,但它似乎没有做任何事情。

如何让这个蓝色文本框随着窗口的大小而增长,最大宽度为 200 像素,并且左对齐?

有什么诀窍?