GVKun编程网logo

html – 按钮位置绝对不能按预期工作(html按钮不可用与可以用)

11

如果您想了解html–按钮位置绝对不能按预期工作和html按钮不可用与可以用的知识,那么本篇文章将是您的不二之选。我们将深入剖析html–按钮位置绝对不能按预期工作的各个方面,并为您解答html按钮不

如果您想了解html – 按钮位置绝对不能按预期工作html按钮不可用与可以用的知识,那么本篇文章将是您的不二之选。我们将深入剖析html – 按钮位置绝对不能按预期工作的各个方面,并为您解答html按钮不可用与可以用的疑在这篇文章中,我们将为您介绍html – 按钮位置绝对不能按预期工作的相关知识,同时也会详细的解释html按钮不可用与可以用的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

html – 按钮位置绝对不能按预期工作(html按钮不可用与可以用)

html – 按钮位置绝对不能按预期工作(html按钮不可用与可以用)

任何人都可以解释为什么按钮不是绝对定位到右边?我希望它从每个边缘都是3px.

HTML:

<div>
    <button>Hello world</button>
</div>

CSS:

.wrapper {
    height: 300px;
    width: 300px;
    background-color: #f33;
    position: relative;
}

.wrapper button {
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 3px;
    right: 3px;
}

此外,该按钮如何能够垂直对齐其内容?

解决方法

与大多数表单元素一样,button是一个替换元素.当绝对定位时,替换元素的行为与常规非替换元素(例如div)的行为不同.适用于 section 10.3.8 of CSS2.1的以下两点:
  1. The used value of ‘width’ is determined as for inline replaced elements. If ‘margin-left’ or ‘margin-right’ is specified as ‘auto’ its used value is determined by the rules below.

  1. If at this point the values are over-constrained,ignore the value for either ‘left’ (in case the ‘direction’ property of the containing block is ‘rtl’) or ‘right’ (in case ‘direction’ is ‘ltr’) and solve for that value.

与未替换的元素不同,按钮的宽度不是基于指定的偏移量确定的,而是由按钮本身的内容决定的.由于宽度的使用值不是自动的,并且左侧和右侧的指定值不是自动的,因此值过度约束并且强制浏览器向右忽略以便考虑宽度.

如果希望按钮填充包装的整个高度和宽度,请不要使用绝对定位.而是在按钮上指定100%的高度和宽度,并在包装​​器上使用填充来偏移按钮:

.wrapper {
    height: 300px;
    width: 300px;
    background-color: #f33;
    padding: 3px;
    Box-sizing: border-Box;
}

.wrapper button {
    height: 100%;
    width: 100%;
}
<div>
    <button>Hello world</button>
</div>

(如果不能使用Box-sizing,请从包装器的尺寸中减去填充.)

文本的垂直对齐可能与浏览器默认情况下绘制按钮控件的方式有关,通常基于系统按钮控件.

ag-grid getRowStyle不能按预期工作

ag-grid getRowStyle不能按预期工作

如何解决ag-grid getRowStyle不能按预期工作?

我有一个网格,我希望该网格中的行根据列之一的值进行样式设置。我用getRowStyle完成了此操作,在其中读取了此列的值并相应地分配了背景。

但是,当添加行时,有时样式会变得混乱:

enter image description here

在这里我们可以看到5行,其中3行具有正确的样式(背景色是标签颜色的浅色版本)。这两行以某种方式保留了背景。

有人遇到过类似的问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

AngularJS + Jasmine:$ httpBackend不能按预期工作

AngularJS + Jasmine:$ httpBackend不能按预期工作

我将 JasmineKarma 一起使用,以测试基于 Angular 构建的应用程序。

我必须测试加载用户数据的服务,并且使用 $ httpBackend 模拟响应。但是,当我运行测试时,出现两个错误:

  • 错误:没有等待刷新的请求!
  • 错误:请求不满意:GET https://api.github.com/users/wilk

模块:

'use strict';

app.service ('UserService',['$resource','$q','GITHUB_API_URL',function ($resource,$q,GITHUB_API_URL) {
  var userResource = $resource (GITHUB_API_URL + '/users/:user',{user: '@user'}),userModel = {};

  return {
    data: function () {
        return userModel;
    },populate: function (user) {
      var deferred = $q.defer (),userRequest = userResource.get ({user: user});

      $q
          .when (userRequest.$promise)
          .then (function (data) {
              userModel = data;
              deferred.resolve (data);
          });

      return deferred.promise;
    }
  };
}]);

测试:

'use strict';

describe ('Service: UserService',function () {
    beforeEach (module ('myApp'));

    var $appInjector = angular.injector (['myApp']),UserService = $appInjector.get ('UserService'),GITHUB_API_URL = $appInjector.get ('GITHUB_API_URL'),GITHUB_USER = $appInjector.get ('GITHUB_USER'),$httpBackend;

    beforeEach (inject (function ($injector) {
        $httpBackend = $injector.get ('$httpBackend');

        $httpBackend
            .when ('GET',GITHUB_API_URL + '/users/' + GITHUB_USER)
            .respond ({
                login: GITHUB_USER,id: 618009
            });
    }));

    afterEach (function () {
        $httpBackend.verifyNoOutstandingExpectation ();
        $httpBackend.verifyNoOutstandingRequest ();
    });

    describe ('when populate method is called',function () {
        it ('should returns user data',function () {
            $httpBackend.expectGET (GITHUB_API_URL + '/users/' + GITHUB_USER);

            UserService.populate (GITHUB_USER);
            $httpBackend.flush ();
            expect(UserService.data ()).toEqual ({
                login: GITHUB_USER,id: 618009
            });

        });
    });
});

假设GITHUB_API_URL等于 ‘ https://api.github.com/
‘,_而GITHUB_USER等于
‘wilk’_ 。

我正在使用 Karma-Jasmine 0.1.5AngularJS 1.2.6 (使用Angular
Mocks和方案1.2.6)运行此测试。

此代码有什么问题?

AngularJS Jasmine:$httpBackend不能按预期工作

AngularJS Jasmine:$httpBackend不能按预期工作

我使用茉莉花与羯磨测试我的应用程序建立在角度。

我必须测试一个加载用户数据的服务,我使用$ httpBackend来模拟响应。
但是,当我运行测试时,我有两个错误:

>错误:无待处理的请求冲洗!
>错误:不满意的请求:GET https://api.github.com/users/wilk

模块:

'use strict';

app.service ('UserService',['$resource','$q','GITHUB_API_URL',function ($resource,$q,GITHUB_API_URL) {
  var userResource = $resource (GITHUB_API_URL + '/users/:user',{user: '@user'}),usermodel = {};

  return {
    data: function () {
        return usermodel;
    },populate: function (user) {
      var deferred = $q.defer (),userRequest = userResource.get ({user: user});

      $q
          .when (userRequest.$promise)
          .then (function (data) {
              usermodel = data;
              deferred.resolve (data);
          });

      return deferred.promise;
    }
  };
}]);

测试:

'use strict';

describe ('Service: UserService',function () {
    beforeEach (module ('myApp'));

    var $appInjector = angular.injector (['myApp']),UserService = $appInjector.get ('UserService'),GITHUB_API_URL = $appInjector.get ('GITHUB_API_URL'),GITHUB_USER = $appInjector.get ('GITHUB_USER'),$httpBackend;

    beforeEach (inject (function ($injector) {
        $httpBackend = $injector.get ('$httpBackend');

        $httpBackend
            .when ('GET',GITHUB_API_URL + '/users/' + GITHUB_USER)
            .respond ({
                login: GITHUB_USER,id: 618009
            });
    }));

    afterEach (function () {
        $httpBackend.verifyNoOutstandingExpectation ();
        $httpBackend.verifyNoOutstandingRequest ();
    });

    describe ('when populate method is called',function () {
        it ('should returns user data',function () {
            $httpBackend.expectGET (GITHUB_API_URL + '/users/' + GITHUB_USER);

            UserService.populate (GITHUB_USER);
            $httpBackend.flush ();
            expect(UserService.data ()).toEqual ({
                login: GITHUB_USER,id: 618009
            });

        });
    });
});

我们假设GITHUB_API_URL等于’https://api.github.com/‘,GITHUB_USER等于’wilk’。

我正在使用Karma-Jasmine 0.1.5和AngularJS 1.2.6进行测试(使用角度模式和场景1.2.6)。

这段代码有什么问题?

我们分别讨论每个错误:

错误:无待处理的请求冲洗!

这是因为没有通过$ httpBackend的请求,所以没有什么可以刷新。这是因为您在$ httpBackend之前实例化UserService,所以Angular不知道应该使用它而不是真正的$ http。如果您查看控制台,您将看到正在发送一个真实请求。

错误:不满意的请求:GET https://api.github.com/users/wilk

与上述相同的原因。由于$ httpBackend不被服务使用,所以您创建的期望从未满足。

考虑到以上所有之后,这是您的规格重构:

describe ('Service: UserService',function () {
    var UserService,GITHUB_API_URL,GITHUB_USER,$httpBackend;

    beforeEach(function() {
      module('plunker');

      inject(function( _$httpBackend_,_UserService_,_GITHUB_API_URL_,_GITHUB_USER_) {
        $httpBackend = _$httpBackend_;
        UserService = _UserService_;
        GITHUB_API_URL = _GITHUB_API_URL_;
        GITHUB_USER = _GITHUB_USER_;
      });
    });

    afterEach (function () {
        $httpBackend.verifyNoOutstandingExpectation ();
        $httpBackend.verifyNoOutstandingRequest ();
    });

    describe ('when populate method is called',function () {
            $httpBackend
              .whenGET(GITHUB_API_URL + '/users/' + GITHUB_USER)
              .respond ({
                  login: GITHUB_USER,id: 618009
              }); 

            UserService.populate(GITHUB_USER);
            $httpBackend.flush();

            expect(UserService.data().login).toBe(GITHUB_USER);
            expect(UserService.data().id).toBe(618009);
        });
    });
});

Plunker

注意:我已经改变了注入的方式,但是你所做的一切都很好,只要在其他任何事物之前创建$ httpBackend。

asp.net – IIS 404自定义错误不能按预期工作

asp.net – IIS 404自定义错误不能按预期工作

我正在使用IIS6,ASP.NET,VS2008.该网站使用自定义错误处理程序捕获404错误并提供备用页面.当呈现以下形式的网址时:

http://srv/crimson/articles/index

一切都很完美.但是一个url的形式:

http://srv/crimson/blog.aspx

其中blog.aspx不存在,失败并显示以下消息:

‘/ Crimson’应用程序中的服务器错误.说明:HTTP 404 …

当我尝试调试时,我的404处理程序中没有一个断点被打.所以似乎有一些事情是在赶上这个请求.哪里?如何让它将请求传递给我的处理程序?

编辑
感谢那些回答的人,但没有一个想法奏效.我决定以另一种方式来攻击这个问题.

解决方法

你可能想尝试这个:

在IIS6中:

>为您的网站打开“属性”
>转到“主目录”选项卡
>点击“配置”
>寻找扩展名“.aspx”
>点击“编辑”
>选中“验证该文件存在”的复选框

编辑

那怎么办?
http://msdn.microsoft.com/en-us/library/h0hfz6fc(VS.80).aspx

<customErrors defaultRedirect="sorry.htm" mode="On">  
     <error statusCode="404" redirect="NotFound.aspx"/>
</customErrors>

由于“RemoteOnly”指定自定义错误仅显示给远程客户端,并且ASP.NET错误将显示给本地主机.

我们今天的关于html – 按钮位置绝对不能按预期工作html按钮不可用与可以用的分享就到这里,谢谢您的阅读,如果想了解更多关于ag-grid getRowStyle不能按预期工作、AngularJS + Jasmine:$ httpBackend不能按预期工作、AngularJS Jasmine:$httpBackend不能按预期工作、asp.net – IIS 404自定义错误不能按预期工作的相关信息,可以在本站进行搜索。

本文标签: