使用flex-flow: column wrap和时display: inline-flex,它不收缩包装inline-block:
(function() {
var ascending = true;
setInterval(function() {
var parent = document.getElementById('flex');
if (ascending) {
var child = document.createElement('p');
child.innerHTML = "foo";
parent.appendChild(child);
} else {
parent.removeChild(parent.children[0]);
}
if (parent.children.length <= 1) ascending = true;
if (parent.children.length >= 40) ascending = false;
}, 20);
})();
(function() {
var ascending = true;
setInterval(function() {
var parent = document.getElementById('failex');
if (ascending) {
var child = document.createElement('p');
child.innerHTML = "foo";
parent.appendChild(child);
} …Run Code Online (Sandbox Code Playgroud)我最近一直想弄清楚什么时候使用inline-blocks 是合适的.它们似乎比一个block元素更有用.实际上,内联块元素似乎能够执行块元素可以执行的任何操作,但具有一些额外的样式.
元素与元素有display: inline-block; width: 100%;什么不同display: block;?(除了一个更长的事实?)
我一直在阅读w3c的建议,正在研究这个主题.我似乎无法找到差异.
在这个例子中 ......
<body>
<div>
<div>foo bar</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
body, html, div {
height: 100%;
margin: 0;
}
div div {
display: inline-block;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
为什么会overflow: hidden导致垂直滚动条?此外,为什么这个高度不归因于页面上的任何内容?这就像一个无形的边缘.
所有元素的100%高度都是有意的.理论上,这应该导致最内部的div扩展以满足视口.它确实如此!...只要overflow: hidden不存在,为什么?
我试图在同一行显示2个值,并给出正确优先级的值(它是一个移动应用程序,需要检测屏幕的宽度,并"压缩"左侧单元格更小.
这是我的尝试:http: //jsfiddle.net/rodneyjoyce/TxBhD/
HTML
<div id="screen">
<div id="leftDesc">This is a Long Description</div>
<div id="rightDesc">1000</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#screen
{
width: 200px;
}
#leftDesc
{
display: inline-block;
overflow: hidden;
float: left;
height: 20px;
max-width:160px;
color: blue;
}
#rightDesc
{
float: right;
display: inline-block;
text-align: right;
color: red;
}
Run Code Online (Sandbox Code Playgroud)
应该怎么做:将"1000"增加到"1000 000".蓝色文本应该删除"描述"一词的结尾,红色和蓝色文本应保持在同一行.
免责声明:我不擅长CSS - 在XAML中我在宽度上使用*值,以便单元格自动增长并缩小其他单元格.
我不想使用Javascript或JQuery.
如何检查变量名称是否"正在使用"?含义:如何检查变量名是否已在var varname = 'something'语句中使用?
通常,我会检查是否typeof varname == 'undefined',这似乎工作正常.问题是当页面上有一个元素时id="varname".现在,当我检查时typeof varname == 'undefined',我得到了false,因为varname是一些HTML元素.
varname不是"在使用中",但它也不undefined是.
<body id="test1"></body>
<script>
//if <body> has an id of test1, how do i check if test1 is undeclared?
console.log(typeof test1 == 'undefined'); // the <body> element causes this to be true
console.log(typeof test2 == 'undefined'); // outputs true as expected
</script>
Run Code Online (Sandbox Code Playgroud)
另外,你能检查角落情况:var test1 = document.getElementById('test1')已经执行了吗?
创建使用自定义表单元素时,ngModel必须提供一个元素NG_VALUE_ACCESSOR,这又需要组件实现ControlValueAccessor,该元素具有一种称为的方法registerOnTouched。所有angular.io文档都说的是:
Run Code Online (Sandbox Code Playgroud)registerOnTouched(fn: any) : void设置控件收到触摸事件时要调用的函数。
Angular文档听起来像是用于触摸输入,但是我认为这是ngForm查看用户是否曾经与输入进行交互的方式的一部分。文档似乎缺少一些有关“触摸事件”以及应该如何从组件外部注册和使用“ onTouch”处理程序的信息。
这到底是为了什么?如何使用?谁提供的fn?...使用我的组件((touched)="handler()")或仅使用Angular本身的开发人员?我看过一些示例,它们只是注册一个处理程序,然后从不调用或忽略它。如果是这样,为什么我需要完全实现它?
“触摸事件”的端到端示例可能会清除所有这些。
为什么绝对定位元素依赖于其父元素进行文本换行?不position: absolute从流程中删除元素吗?

我正在寻求消除这个界限。这就像暗示max-width我不想要;我希望另一个开发人员能够设置 this max-width,而不用担心这个任意限制。我该如何消除这种行为?
为了方便起见,这里有一个 jsbin。
使用babel-preset-react(编辑:babel版本:) v6.26.0,以下表达式失败并显示错误" Invalid left-hand side in arrow function parameters"(尝试使用babel repl):
true ? ("test") : x => 42 //FAILS, but only with `babel-preset-react`
Run Code Online (Sandbox Code Playgroud)
然而,它有一个很小的修改:
true ? "test" : x => 42 //works fine
Run Code Online (Sandbox Code Playgroud)
这两种情况在看似任何其他配置中都可以正常工作.
这是一个错误吗?或者有什么东西作为JSX解析的一部分导致这种情况发生?
Web MIDI API 目前允许开发人员访问 MIDI 设备并向其发送事件。这意味着我们可以创建一个网页,向我们选择的 MIDI 设备发送 MIDI 消息或从我们选择的 MIDI 设备发送 MIDI 消息。
我希望创建三种类型的页面:
我希望这样做,以便用户可以通过标准的通信形式(MIDI 和网络 MIDI API)打开并使用不同的合成器演奏不同的键盘。他们甚至可以更改他们想要使用的连接管理。如果 Web MIDI API 支持,他们可以混合使用虚拟 Web MIDI 设备、虚拟桌面 MIDI 设备和真实 MIDI 设备。
但是,我找不到创建自己的虚拟设备的方法。有没有办法创建这样的设备?
我试图通过拼凑示例来在线学习教程.我觉得这应该是播放mp3文件.我正在使用Chrome浏览器,它是最新的.我在控制台上没有任何错误.我不确定我需要更改或添加以使其工作.
<html>
<head>
<script type="text/javascript">
var context;
var sound1Buffer = null;
var url = 'https://dl.dropboxusercontent.com/u/1957768/SrtV2.mp3';
function init(){
try {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
}
catch(e) {
alert("web Audio api is not supported!");
}
}
window.addEventListener('load', init, false);
function loadDogSound(url){
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.responseType = 'arrayBuffer';
//decode asynchronously
request.onload = function(){
context.decodeAudioData(request.response, function(buffer){
sound1Buffer = buffer;
}, onError);
}
request.send();
}
function playSound(sound1Buffer){
var source = context.createBufferSource();
source.sound1Buffer = sound1Buffer;
source.connect(context.destination); …Run Code Online (Sandbox Code Playgroud)