小编hon*_*n2a的帖子

svg背景图像位置始终在Internet Explorer中居中,尽管背景位置:左中心;

我使用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.

html css svg

70
推荐指数
5
解决办法
5万
查看次数

tabIndex不会使用Tab键使标签可聚焦

我正在尝试用图标替换复选框/无线电输入.为此,我需要隐藏原始复选框/收音机.问题是,我还希望表单能够正确支持键盘输入,即让输入通过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代码只允许看到正确点击标签(联合国)检查复选框.)

html5

41
推荐指数
1
解决办法
3万
查看次数

使用Date对象的组件在不同的时区中生成不同的快照

我正在使用-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,而不管它们运行的​​时区是什么?

javascript reactjs jestjs enzyme

38
推荐指数
3
解决办法
1万
查看次数

为什么不"显示:阻止"和"宽度:自动"拉伸按钮来填充容器?

当我设置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的输入框扩展到其容器的大小.另一方面,这个问题根本没有提到按钮.你需要阅读答案,找出它也适用于按钮.

html css

20
推荐指数
1
解决办法
9334
查看次数

创建可注入类(构造函数)

我是一个新手AngularJS,和我刚开始理解的概念和区别factory,servicecontroller.据我所知,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中的其他任何机制?

javascript angularjs

17
推荐指数
2
解决办法
1万
查看次数

如何正确设置按钮粘性属性?

我一直在玩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)

python tkinter sticky

10
推荐指数
1
解决办法
2万
查看次数

在PhantomJS中设置元素高度

在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很好.我只是没有将元素正确地附加到文档正文中.

javascript jasmine phantomjs angularjs

10
推荐指数
1
解决办法
3155
查看次数

父模块作为依赖项

我的应用程序有一个角度模块:

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函数.

有没有人有一些提示让我意识到这一点?

javascript iframe angularjs

9
推荐指数
1
解决办法
546
查看次数

Gulp观察依赖和回调

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)

但我不能让它执行依赖任务并给我一个回调.

gulp

7
推荐指数
1
解决办法
3240
查看次数

如何在Windows窗体的网格视图中绑定图像?

我将图像绑定到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)

从MDIParent致电Child

 CustomerBalance ChildCustBal = new CustomerBalance();
 ChildCustBal.MdiParent = this;
 ChildCustBal.Show();
Run Code Online (Sandbox Code Playgroud)

截图

从MDI父级加载: 从MDI父级加载页面的屏幕截图 直接加载: 直接加载页面的屏幕截图

c# datagridview mdiparent mdichild

6
推荐指数
1
解决办法
1125
查看次数