如何修改用过的CSS框架产生的CSS内联元素?

时间:2019-11-07 06:25:17

标签: javascript html css materialize

考虑下图,我想知道如何从我正在使用的框架 MaterializeCSS 中更改javascript的内联CSS产生。在我的html中,我定义了这一点:

<ul id='profile-settings' class='dropdown-content' style="display: block; width: 250px !important; left: 124px !important; top: 87.5156px !important;">

,但是输出将始终将我的代码替换为这种样式(可能是由于javascript设置的默认样式?):

<ul id='profile-settings' class='dropdown-content' style="display: block; width: 100px; left: 275px; top: 51.5156px; height: 194px; transform-origin: 100% 0px; opacity: 1; transform: scaleX(1) scaleY(1);">

我查看了框架的默认javascript,但我只找到了这个:

{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}}

enter image description here

我应该怎么做才能更改此默认值

    display: block;
    width: 100px;
    left: 275px;
    top: 51.5156px;
    height: 194px;
    transform-origin: 100% 0px;
    opacity: 1;
    transform: scaleX(1) scaleY(1);

进入

    display: block;
    width: 250px;
    left: 124px;
    top: 87.5156px;
    height: 194px;
    transform-origin: 100% 0px;
    opacity: 1;
    transform: scaleX(1) scaleY(1);

2 个答案:

答案 0 :(得分:3)

您应该尝试使用 setTimeout 将代码放入 jquery javascript 代码中,而不是内联地写入ul。有一个JavaScript代码可以覆盖您的内联样式。

为此:

setTimeout(function(){
   $('.profile-settings').css({
       'display':'block',
       'width':'250px',
       'left':'124px',
       'top':'87.5156px',
       'height':'194',
       'transform-origin':'100% 0',
       'opacity':'1',
       'transform':'scaleX(1) scaleY(1)'
   })
},1000);

那应该应用您想要应用的代码。 在前端方面,这是一种不好的做法,但如果没有其他方法,请立即执行。

答案 1 :(得分:0)

您可以尝试myonline的建议,但可以使用点击侦听器

$(document).ready(function() {
  $('.profile-settings').click(function() {
    $('.profile-settings').css({
      'display': 'block',
      'width': '250px',
      'left': '124px',
      'top': '87.5156px',
      'height': '194',
      'transform-origin': '100% 0',
      'opacity': '1',
      'transform': 'scaleX(1) scaleY(1)'
    })
  });
});

并确保您的脚本在框架脚本之后加载。