在d3.js 的文档中,我找不到在两点之间绘制简单线段的简单方法.我能找到这个的唯一方法是需要为x和y等创建回调等等.这是一个主要的生产只是为了绘制一个简单的线段.
有什么比这更简单的了吗?
下面的两个屏幕截图显示了Chrome 31(左侧)和Safari 6的相同HTML + CSS(在本文末尾给出)之间的巨大差异.该页面可在此处查看.注意:此页面不使用JS.

对于这种广泛差异的一种可能解释是该页面的样式表包含CSS规范未涵盖的声明的某些组合,这意味着每个浏览器可以任意解释它.(在这种情况下,例如,将"外的规格组合"可以是一对声明max-width: 400px;和display:table;用于.main选择器.)
问题:是否有一些自动方法来检测这种"不符合规范"的声明组合?
值得注意的是,这里给出的示例可能相对容易通过检查进行诊断(至少对于那些对CSS规范有非常全面的命令的人来说),但是想象出这样的"不符合规范"的情况并不容易. "组合可能更巧妙地产生(例如,通过单独样式表中的声明之间的相互作用等).因此,识别这种"不合规格"组合的一些工具将是一个巨大的帮助.
我能想到的唯一这样的工具是CSS Lint,但它没有在CSS中拾取任何可能导致修复上述差异的内容.
*{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
margin:0;
padding:0;
border:0;
outline:0;
font-family:consolas,monaco,courier,monospace;
}
.banner{
background:lightgray;
}
.header{
height:50px;
}
.footer{
height:300px;
}
.main{
position:relative;
max-width:400px;
margin:0 auto;
padding:10px;
display:table;
background-color:steelblue;
}
.left-panel{
position:absolute;
background-color:#555;
}
.vfloat{
position:absolute;
padding:10px 30px;
background-color:#0aa;
font-size:15px;
}
.right-panel{
margin-left:200px;
}
.vfixed{
padding:20px 60px;
background-color:orange;
font-size:30px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="header banner"></div>
<div class="main"> …Run Code Online (Sandbox Code Playgroud) 如果我想看到<commit>和工作目录(WD)之间的差异,我运行
% git diff <commit>
Run Code Online (Sandbox Code Playgroud)
这通常做我想要的,但如果WD包含在<commit>创建时被跟踪的文件,但现在没有被跟踪(或在当前分支中),那么生成的差异会将WD中的这些文件视为如果他们是/dev/null.
我可以想象这将是适当行为的情况,但目前我希望能够看到<commit>当前目录之间的"真正"差异,使用当时正在跟踪的文件列表<commit>创建了.
有没有办法指示git diff这样做?
编辑:如果有一种方法可以隐藏(后来恢复)只是索引,也许git reset <commit>之前运行git diff <commit>会产生<commit>与WD 之间的完全比较,但我还没有想出如何有选择地隐藏(以后恢复)指数......哦!我想我可以像这样做一个"穷人藏匿":cp -a .git/index .git/index.bak!?
我安装了 Emacs 24.3.1(使用homebrew),它已经随附了org-mode,但我org-mode在 Emacs 内置文档(可通过 访问C-h i)中找不到该文档。
我可以在这里找到org-mode在线文档,但我更喜欢直接在 Emacs 中阅读。
我发现自己不得不使用 Web 浏览器而不是在 Emacs 中阅读此文档,这非常奇怪(实际上几乎与整个org-mode文本方向相反)。
我是否需要单独下载并安装此文档才能在 Emacs 中阅读它?如果是这样,我在哪里可以找到合适的(texinfo?)文件?
或者这个文档是否已经默认与 Emacs 捆绑在一起(我只需要配置我当前的 Emacs 安装以便能够浏览它C-h i)?
我想根据每行中应该能够容纳的等宽字符的最大数量来指定textareas的宽度,既没有多余的剩余空间也没有溢出.
有几个SO类似的问题,但共识的答案,即使用cols属性,显然不起作用,如这个jsFiddle所示.它的HTML是这样的:
<textarea cols="1" rows="2">1</textarea><br/>
<textarea cols="10" rows="2">1234567890</textarea><br/>
<textarea cols="20" rows="2">12345678901234567890</textarea><br/>
<textarea cols="40" rows="2">1234567890123456789012345678901234567890</textarea><br/>
<textarea cols="80" rows="2">12345678901234567890123456789012345678901234567890123456789012345678901234567890</textarea><br/>
Run Code Online (Sandbox Code Playgroud)
实际宽度总是大得多于必要的宽度.(在Safari中,至少过剩似乎保持不变,无论指定的值如何cols;但是,随着Chrome的增加,过剩会随着cols增长而增长.)
我也尝试使用CSS width属性em和ex单位.后者产生的字段比需要的字符窄几个字符,而前者导致的宽度比cols属性产生的宽度更大.
最后,我研究了以ex为单位设置宽度,作为通过将字符数乘以某个软糖因子得到的数字.这不仅令人作呕(我们不应该做浏览器的工作),而且也不是跨浏览器:我发现Chrome和Safari(例如)的软糖因素大不相同(1.333对比1.415).
有没有专业1点的方式来做到这一点?
1即跨浏览器,无猜测,无黑客,有文件记录,经过深思熟虑等.
标准mouseout事件的一个问题是,它不仅在光标离开由元素的外部边界限定的屏幕区域时触发,而且当光标悬停在该周边内包含的某个其他元素上时触发.
jQuery mouseleave事件的基本原理是仅在光标离开由元素外部边界限定的区域时发出信号.
不幸的是,这似乎只有在"阻碍"元素是"受阻"元素的后代时才有效.如果"阻碍"元素是通过绝对定位的位置,那么当鼠标悬停在它上面时,mouseleave"阻塞"元素上的事件将被触发.
例如,使用以下HTML:
<div id="b-div">
<div id="d-div"><span>d</span></div>
</div>
<div id="c-div"><span>c</span></div>
Run Code Online (Sandbox Code Playgroud)
... #d-div是一个真正的后代#b-div,而#c-div不是,但是,但我们可以设计它,使它"阻碍" #b-div所有相同.这在这个 jsFiddle中有说明.
如果现在定义以下事件#b-div:
$( '#b-div' ).bind( {
mouseenter: function () {
$( this ).addClass( 'outlined' );
},
mouseleave: function () {
$( this ).removeClass( 'outlined' );
}
} );
Run Code Online (Sandbox Code Playgroud)
...然后将鼠标悬停在#b-div外围周围会导致在此周边出现蓝色轮廓,除非鼠标结束#c-div.
有没有办法让具有相同的效果#b-div,并#c-div为mouseleave与实现#b-div和#d-div?
编辑:我已经修复了jsFiddle中显示的示例.该示例的原始版本显示了不具代表性的特殊情况,其中所有阻碍元素与受阻元素重叠.在这种特殊情况下,可以通过在阻碍元件和阻塞元件上定义相同的事件来模拟期望的效果,因此,实际上,将阻碍元件转变为阻塞元件的补片.当阻碍元件未完全包含在受阻元件的外周边内时,这将不起作用(如修正后的jsFiddle所示).更一般地,基于在 …
yaml.load当给定的键在同一个字典中出现多次时,有没有办法引发异常?
例如,解析以下YAML会引发异常,因为some_key出现两次:
{
some_key: 0,
another_key: 1,
some_key: 1
}
Run Code Online (Sandbox Code Playgroud)
实际上,上述行为对应于关键重新定义的最简单策略.例如,一个更精细的策略可以指定只有更改分配给密钥的值的重定义才会导致异常,或者可能允许将密钥重定义的严重性级别设置为"警告"而不是"错误" .等等.这个问题的理想答案是能够支持这些变体.
在Python中,可以通过赋值将3元组(例如)"解包"为三个单独的变量:
In [1]: triplet = (1, 'two', (True, True, True))
In [2]: first, second, third = triplet
In [3]: third
Out[3]: (True, True, True)
In [4]: second
Out[4]: 'two'
In [5]: first
Out[5]: 1
Run Code Online (Sandbox Code Playgroud)
可以在MATLAB中做这样的事情吗?
我尝试过的一切都失败了.例如:
>> triplet = {1, 'two', [true, true, true]};
>> [first second third] = triplet
Too many output arguments.
Run Code Online (Sandbox Code Playgroud) 问题标题几乎说明了一切。
例如,--mem参数 forsrun是可选的(或者至少我有权访问的 SLURM 实例是这种情况)。我想知道此选项的值,该值与根本不指定该选项具有相同的效果。(我意识到这个特定的默认值可能取决于传递给的其他参数的值srun,例如分区等)
所有其他可选srun和sbatch参数也是如此。
是否有某种方法可以配置替代默认目录(当前目录除外)sbatch以放置未指定时生成的文件slurm-%j.out(或slurm-%A_%a.out)-o?
我的目标是有一种方便/低维护的方式来
sbatch到一个地方;和我曾希望找到类似SLURM_DEFAULT_OUTPUT_DIRECTORY环境变量的东西来解决这个问题,但如果有这样的变量,我设法错过了它。
是否有其他机制可以达到预期的结果?
(FWIW,我所追求的功能的唯一先例是 Emacs 的backup-directory-alist,它告诉 Emacs 将默认情况下放置它生成的备份文件。这个功能比我所追求的更复杂,因为它支持多个这些目录,根据原始文件名中的模式使用。)