我使用SVG徽标作为背景图像,我似乎无法在Internet Explorer中正确对齐左侧(编辑:和Safari).
容器看起来像这样:
<div id="header">
<div id="logo"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
随风格:
#header{
width: 100%;
max-width: 1200px;
height: 100%;}
#logo{
background: url(../images/ss_logo.svg);
background-position: left center;
width: 100%;
height: 100%;
float: left;}
Run Code Online (Sandbox Code Playgroud)
您可以看到它<div>
应该跨越其父级的100%,但在元素的左侧显示徽标.这在Chrome和Safari中运行良好,但徽标总是<div id="logo">
在IE中居中.
信息似乎很难找到,有其他人有同样的问题吗?
这是一个问题示例版本的链接,绿色框是SVG.
我正在尝试用图标替换复选框/无线电输入.为此,我需要隐藏原始复选框/收音机.问题是,我还希望表单能够正确支持键盘输入,即让输入通过Tab
键保持可聚焦并可选择使用Spacebar
.由于我隐藏了输入,因此无法集中注意力,所以相反,我试图使其<label>
可聚焦.
这个文档和其他各种来源使我相信我可以使用tabindex
属性(对应于HTMLElement.tabIndex
属性)来做到这一点.然而,当我尝试分配tabindex
给我的标签时,它仍然像以前一样没有重点,无论我多么努力Tab
.
为什么不tabindex
使标签可以集中?
以下代码段演示了此问题.如果你注重的输入您的鼠标并尝试使用聚焦的标签Tab
,这是行不通的(它侧重以下<span>
用tabindex
代替).
document.getElementById('checkbox').addEventListener('change', function (event) {
document.getElementById('val').innerHTML = event.target.checked;
});
Run Code Online (Sandbox Code Playgroud)
<div>
<input type="text" value="input">
</div>
<div>
<label tabindex="0">
<input type="checkbox" id="checkbox" style="display:none;">
checkbox: <span id="val">false</span>
</label>
</div>
<span tabindex="0">span with tabindex</span>
Run Code Online (Sandbox Code Playgroud)
(JavaScript代码只允许看到正确点击标签(联合国)检查复选框.)
我正在使用酶与酶-json对我的React组件进行Jest快照测试.我正在测试DateRange
组件的浅快照,该组件呈现具有当前范围的显示字段(例如5/20/2016 - 7/18/2016
)和DateInput
允许选择Date
值的两个组件.这意味着我的快照包含Date
我在DateInput
道具中传递给组件的s 以及它自己解析的文本表示.在我的测试中,我正在使用创建一些固定日期new Date(1995, 4, 23)
.
当我在不同时区运行测试时,会生成不同的快照,因为Date(year, month, ...)
构造函数会在本地时区创建日期.例如,使用new Date()
在我的本地时区和CI服务器上的运行之间产生快照差异.
- value={1995-05-22T22:00:00.000Z}
+ value={1995-05-23T00:00:00.000Z}
Run Code Online (Sandbox Code Playgroud)
我尝试从日期中删除时区偏移量,但随后快照在显示字段值中不同,其中使用了与本地时区相关的表示.
- value={5/20/2016 - 7/18/2016}
+ value={5/19/2016 - 7/17/2016}
Run Code Online (Sandbox Code Playgroud)
如何使我的测试Date
在快照中生成相同的s,而不管它们运行的时区是什么?
当我设置display: block;
并width: auto;
按下按钮时,我希望按钮可以拉伸以填充容器,就像其他块元素一样.出于某种原因,它没有,至少在最新的Chrome中没有.
当谷歌搜索时,我发现很多人都在问同样的问题,他们对"我如何拉伸按钮来填充容器"的答案感到满意?这不是我感兴趣的.(我完全能够以任何方式拉伸我的按钮.)检查按钮属性,包括浏览器默认强加的按钮属性也没有帮助我.
我想了解,是什么导致按钮被忽略display: block; width: auto;
并根据其内容保持水平大小.
这是我的意思:
button {
display: block;
}
Run Code Online (Sandbox Code Playgroud)
<button style="width: auto;">button with `display:block; width:auto;`</button>
<button style="width: 100%;">button with `display:block; width:100%`</button>
Run Code Online (Sandbox Code Playgroud)
我希望按钮width:auto;
也可以伸展.
只是为了绝对清楚,这不是重复输入显示:块不是一个块,为什么不呢?或任何类似的问题,除非只有答案描述如何拉伸有问题的元素.
编辑:它可能与CSS/DOM中的内容重复,它阻止了带有display:block的输入框扩展到其容器的大小.另一方面,这个问题根本没有提到按钮.你需要阅读答案,找出它也适用于按钮.
我是一个新手AngularJS,和我刚开始理解的概念和区别factory
,service
和controller
.据我所知,a factory
用于返回可以注入的"值对象".我见过的大多数例子都是这样的:
angular.module('module.factories', function() {
factory('FactoryObject', function() {
return {
someFunction: function(someParam) {};
someOtherFunction: function(someOtherParam) {});
};
});
});
Run Code Online (Sandbox Code Playgroud)
在我controller
,我希望能够使用这个对象,但我想在控制器中初始化/实例化它,因为它可以根据控制器中的事件/动作重新初始化.因此,我想知道我是否可以在工厂中返回构造函数?
angular.module('module.factories', function() {
factory('FactoryObject', function() {
function FactoryObject(initParam) {
}
FactoryObject.prototype.someFunction = function() {};
return FactoryObject;
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个角度工厂的合适模式吗?或者将工厂用于这样的自定义对象只是"过度杀伤"?我应该将它包含在库js文件中并从那里引用它吗?将它放入工厂的一个好处是可以很容易地在测试中模拟它,因为它将被注入到使用它的地方.是否可以使用Angular中的其他任何机制?
我一直在玩tkinter,我无法弄清楚为什么"粘性"属性似乎不适用于我的按钮.我已指定粘贴为NW,这会导致我的按钮粘在左上边缘但由于某种原因它粘在右上角.知道为什么吗?
from tkinter import *
from tkinter import ttk
def test():
name = userName.get()
text = "Hello {0}! Pleased to meet you.".format(name)
greeting.set(text)
window = Tk()
greeting = StringVar()
userName = StringVar()
name = Entry(window, textvariable=userName)
name.grid(column=1, row=1, sticky=NW)
button = Button(window, text="greeting", command=test)
button.grid(column=2, row=1, sticky=NW)
label = Label(window, textvariable=greeting)
label.grid(column=1, row=2, sticky=NW)
#creating a rectangle
canvas = Canvas(window)
canvas.grid(column=1, row=2)
#attributes are x,y coordinates of two points
x = canvas.create_rectangle(5,5,115,115)
mainloop()
Run Code Online (Sandbox Code Playgroud) 在PhantomJS中测试时如何设置元素高度?
我正在使用Jasmine框架测试Karma并在PhantomJS无头浏览器上运行.我正在尝试测试一个与"无限滚动"有关的AngularJS指令(当用户滚动到容器元素底部附近时自动加载项目).我不是在使用jQuery,也不是我希望(除非没有别的办法).我正在使用.clientHeight,.scrollTop和.scrollHeight属性.我的指令按预期工作,至少在Chrome中.
我尝试为我的指令设置测试,但我找不到创建非零高度元素的方法.以下代码没有给我带来快乐:
describe('something', function () {
it('works with element height', inject(function ($document) {
var el = angular.element('<div>Lorem ipsum...</div>')[0];
$document.append(el);
// size of non-empty block element should be non-zero by default
expect(el.clientHeight).not.toBe(0);
expect(el.scrollHeight).not.toBe(0);
// it should certainly be non-zero after the height is set manually
el.style.height = '999px';
expect(el.clientHeight).not.toBe(0);
expect(el.scrollHeight).not.toBe(0);
}));
});
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?有可能做我想做的事吗?
element.style.height
很好.我只是没有将元素正确地附加到文档正文中. 我的应用程序有一个角度模块:
var io = angular.module('IO_Operations', []);
Run Code Online (Sandbox Code Playgroud)
该模块还有一个服务来实现输入/输出的东西:
io.service('ioService', function () {
var dataStore = {};
return {
pushData: function (key, value) {
dataStore[key] = value;
},
getData: function (key) {
return dataStore[key];
}
};
});
Run Code Online (Sandbox Code Playgroud)
后来我想将dataStore
带有JSON 的变量存储在一个文件中作为对象.
现在我有一个iframe
用标签显示一些内容,你可以称之为浏览器.
为了能够进行一些设置,我想在一个iframe中完成.为了将数据保存到文件,我需要调用IO_Service
,在父应用程序中
在我的iframe中我有一个模块:
var settings = angular.module("settings", []);
Run Code Online (Sandbox Code Playgroud)
用控制器
settings.controller("MyController", function ($scope) { ... }
Run Code Online (Sandbox Code Playgroud)
所以我需要为父模块声明一个依赖项来使用它ioService
来调用该pushData
函数.
有没有人有一些提示让我意识到这一点?
gulp-watch的签名是
watch(glob, [options, callback])
Run Code Online (Sandbox Code Playgroud)
但是,您似乎可以有回调或选项,但不能同时使用.我想要做的是:
gulp.watch('*.js',['someTask','anotherTask'],function(event){...});
Run Code Online (Sandbox Code Playgroud)
它执行依赖任务'someTask'和'anotherTask'但不执行回调.你可以有一个回调:
gulp.watch('*.js',function(event){...});
Run Code Online (Sandbox Code Playgroud)
或者您可以执行依赖项:
gulp.watch('*.js',['someTask','anotherTask']);
Run Code Online (Sandbox Code Playgroud)
但我不能让它执行依赖任务并给我一个回调.
我将图像绑定到GridView
资源文件夹.当我加载该窗体时,图像将是bind.But当从MDIPARENT
窗体Image 调用该窗体时将不会显示.我在下面附加图像和代码.
DataGridViewImageColumn ic = new DataGridViewImageColumn();
ic.HeaderText = "Payment";
ic.Image = null;
ic.Name = "cImg";
ic.Width = 50;
dtGrCustBal.Columns.Add(ic);
foreach (DataGridViewRow row in dtGrCustBal.Rows)
{
DataGridViewImageCell cell = row.Cells[10] as DataGridViewImageCell;
cell.Value = Properties.Resources.icon_payment_cash_small;
}
Run Code Online (Sandbox Code Playgroud)
CustomerBalance ChildCustBal = new CustomerBalance();
ChildCustBal.MdiParent = this;
ChildCustBal.Show();
Run Code Online (Sandbox Code Playgroud)
从MDI父级加载:
直接加载: