在网络表单中,当我以编程方式取消选中之前选中的复选框时,浏览器会尝试“记住”以前的状态并在回发后再次检查它们。
有没有类似的东西来autocomplete=off完成这个?无论如何,如何防止浏览器选中我想要取消选中的复选框?
我有一个小问题。我找到了一种使用跨浏览器多行省略号的方法。
这是我的 less CSS mixin。
正如您所看到的,这个版本在webkit中运行完美,在所有其他浏览器中运行“ok”。
.ellipsis-multi(@lh, @l, @mw) {
/* non-webkit */
max-height: @lh*@l;
/* webkit */
-webkit-box-orient: vertical;
-webkit-line-clamp: @l;
display: -webkit-box;
line-height: @lh;
max-width: @mw;
overflow: hidden;
text-overflow: ellipsis;
}
.excerpt {
&.hide {
.ellipsis-multi(1.4em, 3, 100%)
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我使用阅读更多链接来添加和删除“隐藏”类。这很完美,但如果摘录 div 只有 2 行文本,链接也可见。
如果需要省略号,我需要一种仅显示链接的方法。
这是一个 Codepen 示例 http://codepen.io/janwagner/pen/ubHef
我更喜欢仅 CSS 的方法来解决这个问题:)
<svg viewBox="0 0 400 400" preserveAspectRatio="xMinYMin meet">
<g>
<circle r="70" class="circle-back" />
</g>
</svg>
Run Code Online (Sandbox Code Playgroud)
.doughnutChart{
text-align:center;
padding:50% 1em 0;
position: relative;
overflow: hidden;
> svg{
position: absolute;
top: 0;
left:0; right:0;
margin: auto;
g{ transform:rotate(270deg) translate(-88px, 200px); }
}
circle{ fill: none; }
.circle-back { stroke:#EEE; stroke-width: 5px; }
}
Run Code Online (Sandbox Code Playgroud)
正如您在测试页面中看到的那样,我试图定位一个具有一定半径的响应圆,并且我希望它将自己定位在容器的中间,而不管容器的宽度如何。如果圆圈也适合容器的高度,那就更好了。
translate在g元素上使用百分比的css 似乎存在问题,这使我无法做到translate(-50%, -50%)
这是我所拥有的一个非常简化的版本,因为在我的代码中它是一个圆环图,这就是它对它进行这种rotate转换的原因
我正在使用这个 GULP 插件,它将 HTML 文件转换为 ES6 导出,这样我就可以将它们加载到我的 MVC 中的浏览器上(使用rollup捆绑器)。
基本上我有作为模块导出的页面控制器。
然后,在我的主 JS 文件中,我只需一个一个地导入所有页面控制器,如下所示(简化):
import * as page__home from './pages/page1';
import * as page__home from './pages/page2';
...
Run Code Online (Sandbox Code Playgroud)
由于这是一个SPA,我认为以某种方式将所有页面控制器导入到某个对象中会更容易,因此当要调用控制器时,我可以检查该名称是否存在于包含所有导入控制器的对象中, 或类似的东西。
或者也许有一种方法可以检查模块是否以某种方式导入?有没有更聪明的方法来做到这一点?谢谢
<body>
<div></div>
</body>
Run Code Online (Sandbox Code Playgroud)
body{ -webkit-filter:blur(2px); filter:blur(2px); }
div{
background: blue;
margin: auto;
position: absolute;
right: 0;
top: 50%;
left: 0;
height:200px;
width: 200px;
transform: translateY(-50%);
}
Run Code Online (Sandbox Code Playgroud)
将filter:blur(1px)(或任何其他过滤器)提供给定位元素(Firefox)的父级会使浏览器忽略子级的位置.
有没有人遇到过这种情况并知道解决这种烦恼的方法?
在FF48 beta/win7上测试过
无益的Github 讨论让我在这里提出这个问题:
更改为新的v4.0 D3之后,好像在使用d3.zoom() 块一些事件,如:
svg.call(d3.zoom()
.scaleExtent([1, 40])
.translateExtent([[-100, -100], [width + 90, height + 100]])
.on("zoom", zoomed));
Run Code Online (Sandbox Code Playgroud)
然后这个:
document.querySelector('svg').addEventListener('mouseup', function(){ alert(1) })
Run Code Online (Sandbox Code Playgroud)
单击SVG上的任何位置时不会发出任何警报.
我真的不希望这样做:
window.addEventListener("mouseup", function(e){
if( [target or target parent is the specific SVG element] ){
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
因为这将mouseup在窗口上引入全局非命名空间事件(此技术似乎仅适用于该window对象),并且此事件可能会在其他位置删除,或者多次发生.(封装它并不容易,或者我根本不知道如何).
关于如何mouseup在SVG上捕获事件的更好的想法?
与我的另一个问题相关:事件捕获命名空间
在Mark的回答的帮助下,这是工作演示
我是D3版本4的新用户,我在向强制定向布局中添加固定节点功能时遇到了问题.我相信这是通过将d.fixed设置为true在v3中实现的,但是我将此问题转换为与v4兼容的问题.我已经尝试添加simulation.fix,但是如果不从模拟开始修复节点,就无法将其集成到我现有的代码中.
理想情况下,我想添加一个双击侦听器来固定节点,并允许它通过拖动功能定位,然后再次双击时恢复模拟力.提前感谢您的帮助.
这是我的js:
<!--load svg-->
<svg width="1500" height="600"></svg>
<!--begin javascript for d3 forced layout-->
<script>
var svgNetwork = d3.select("svg"),
width = +svgNetwork.attr("width"),
height = +svgNetwork.attr("height");
var simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function(data1) { return data1.id; }))
.force("charge", d3.forceManyBody().strength(-1500))
.force("center", d3.forceCenter(width / 2, height / 2));
//load the node csv data and link csv data together - open node(open link(funtions for making chart))
d3.csv("nodes.csv", function (error1, data1) {
if (error1) throw error1;
console.log(data1);
d3.csv("lines.csv", function (error2, data2) {
if (error2) throw error2; …Run Code Online (Sandbox Code Playgroud) transitionEnd事件是在首先结束而不是最后结束的转换上触发的,这不是期望的行为.任何解决方法?
document.querySelector('a').addEventListener('transitionend', function(){
var time = (new Date().getMinutes()) + ':' + (new Date().getSeconds());
console.log('transitionEnd - ', time);
});Run Code Online (Sandbox Code Playgroud)
a{
display:block;
opacity:.5;
width:100px;
height:50px;
background:lightblue;
}
a:hover{
width:200px;
height:100px;
background:red;
transition: 4s width, /* <-- "transitionEnd" should fire after this */
2s height,
.5s background;
}Run Code Online (Sandbox Code Playgroud)
<a>Hover me</a>Run Code Online (Sandbox Code Playgroud)
现在我检查Chrome(我不使用该浏览器),我看到该事件被调用3次,每次转换一次.无论如何,我需要它来解决最后一个,并在Firefox中.(我不知道元素上有多少转换,知道哪个是最后一个)
今天我迁移到Gulp 4,但我无法让我的手表功能工作。
// Watch
gulp.task('watch', gulp.series('typescript', 'sass', 'browserSync', function(){
gulp.watch('./app/styles/**/*.scss', gulp.series('sass'));
gulp.watch('app/scripts/**/*.ts', gulp.series('typescript'));
gulp.watch('./app/*.html', browserSync.reload);
}));
Run Code Online (Sandbox Code Playgroud)
typescript, sass,browserSync将运行,但watch不会对文件更改做出反应。
我试图将布尔值传递给我的组件,以便它可以根据图像的真假来显示图像,但我不太确定如何继续。
将布尔值传递给组件:
<SomeComponent showImage={false}/>
Run Code Online (Sandbox Code Playgroud)
尝试在组件上使用它:
const TheImage = showImage => (
<div align="center">
{showImage ? (<img src={ImageIwant} alt="The image i want" width="80%" height="80%" />) : ''}
<p>Here is the image</p>
</div>);
Run Code Online (Sandbox Code Playgroud)
我是新来反应的,我不知道为什么这不起作用。
javascript ×7
css ×3
d3.js ×2
html ×2
asp.net ×1
autocomplete ×1
browser ×1
dom ×1
ecmascript-6 ×1
ellipsis ×1
firefox ×1
gulp ×1
gulp-watch ×1
less ×1
multiline ×1
position ×1
reactjs ×1
svg ×1