- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当使用它的拆分条(组件的顶部边缘)调整此组件的大小时,这条恼人的红线随机出现。
我确实弄清楚了如何通过删除它的 CSS 类来永久删除红线,但是有一个问题 22。我很难删除此 Activity1 组件的 Sencha ExtJS 框架中的 CSS 类。我有一个样式问题,其中 backgroundColor 样式属性针对该组件内非常具体的容器布局显示一条红线。红色实际上来自名为“.x-border-layout-ct”的类。由于这三个组件的 backgroundColor 是“#F1F1F1”(白色),并且由于这三个组件位于 Activity1 之上,因此它应该覆盖 Activity1 backgroundColor。事实上,它确实如此,但只有当我将 Activity1 面板(在视口(viewport)中)调整为特定大小时。
我能够通过使用“this.removeCls('.x-border-layout-ct')”删除此类来纠正问题,但是如果我应用“this.callParent(arguments)”,它不会工作。在这种情况下,CSS 类会返回。避免使用“this.callParent(arguments)”是不好的,因为这样面板标题就不会被渲染。
Ext.define('App.view.module1.Activity1', {
extend: 'Ext.form.Panel',
xtype: 'view-module1-activity1',
title: 'test',
layout: {
type: 'border'
},
items: [{
id: 'top_component',
region: 'north',
xtype: 'component',
html: 'top panel',
style: {
backgroundColor: '#F1F1F1'
}
}, {
id: 'middle_component',
region: 'center',
xtype: 'component',
html: '<i>Middle Component</i>',
height: 50,
style: {
backgroundColor: '#F1F1F1',
color: '#b70101',
textAlign: 'center',
fontSize: 'large'
}
}, {
id: 'bottom_component',
region: 'south',
xtype: 'component',
html: 'bottom panel',
style: {
backgroundColor: '#F1F1F1'
}
}],
beforeRender: function() {
this.removeCls('.x-border-layout-ct'); // hack to remove red line between top_component and middle_component
this.callParent(arguments);
},
listeners: {
resize: function(view, width, height, oldWidth, oldHeight, eOpts) {
Ext.getCmp('top_component').setHeight((height-50)/2);
Ext.getCmp('bottom_component').setHeight((height-50)/2);
}
}
});
在呈现的 HTML 中,您可以看到设置此 CSS 类的位置。查看第二个“div”标签,在“div”标签的第二层。
<div class="x-panel x-border-item x-box-item x-panel-default" style="height: 298px; right: auto; left: 0px; top: 303px; margin: 0px; width: 803px;" id="view-module1-activity1-1046">
<div class="x-panel-header x-header x-header-horizontal x-docked x-unselectable x-panel-header-default x-horizontal x-panel-header-horizontal x-panel-header-default-horizontal x-top x-panel-header-top x-panel-header-default-top x-docked-top x-panel-header-docked-top x-panel-header-default-docked-top" id="view-module1-activity1-1046_header" style="right: auto; left: 0px; top: 0px; width: 803px;">
<div id="view-module1-activity1-1046_header-body" class="x-header-body x-panel-header-body x-panel-header-body-default x-panel-header-body-horizontal x-panel-header-body-default-horizontal x-panel-header-body-top x-panel-header-body-default-top x-panel-header-body-docked-top x-panel-header-body-default-docked-top x-box-layout-ct x-panel-header-body-default-horizontal x-panel-header-body-default-top x-panel-header-body-default-docked-top" style="width: 791px;">
<div id="view-module1-activity1-1046_header-innerCt" class="x-box-inner " role="presentation" style="width: 791px; height: 16px;">
<div id="view-module1-activity1-1046_header-targetEl" class="x-box-target" style="width: 791px;">
<div class="x-component x-header-text-container x-panel-header-text-container x-panel-header-text-container-default x-box-item x-component-default" unselectable="on" id="view-module1-activity1-1046_header_hd" style="right: auto; left: 0px; top: 0px; margin: 0px; width: 791px;"><span id="view-module1-activity1-1046_header_hd-textEl" class="x-header-text x-panel-header-text x-panel-header-text-default" unselectable="on">test</span>
</div>
</div>
</div>
</div>
</div>
<div id="view-module1-activity1-1046-body" class="x-panel-body x-panel-body-default x-border-layout-ct x-panel-body-default" style="width: 803px; height: 273px; left: 0px; top: 25px;">
<div class="x-panel x-autowidth-table x-grid-no-row-lines x-grid-header-hidden x-border-item x-box-item x-panel-default x-tree-panel x-tree-lines x-grid" id="top_component" style="right: auto; left: 0px; top: 0px; margin: 0px; width: 801px; height: 124px;">
<div class="x-grid-header-ct x-grid-header-ct-hidden x-docked x-grid-header-ct-default x-docked-top x-grid-header-ct-docked-top x-grid-header-ct-default-docked-top x-box-layout-ct" style="border-width: 1px; height: 0px; right: auto; left: 0px; top: 0px; width: 801px;" id="headercontainer-1047">
<div id="headercontainer-1047-innerCt" class="x-box-inner " role="presentation" style="width: 10017px; height: 0px;">
<div id="headercontainer-1047-targetEl" class="x-box-target" style="width: 10017px;">
<div class="x-column-header x-column-header-align-left x-box-item x-column-header-default x-unselectable x-column-header-first x-column-header-last" style="border-top-width: 1px; border-bottom-width: 1px; border-left-width: 1px; width: 10000px; right: auto; left: 0px; top: 0px; margin: 0px; height: 0px;" id="treecolumn-1048">
<div id="treecolumn-1048-titleEl" class="x-column-header-inner"><span id="treecolumn-1048-textEl" class="x-column-header-text">Name</span>
<div id="treecolumn-1048-triggerEl" class="x-column-header-trigger"></div>
</div>
</div>
</div>
</div>
</div>
<div id="top_component-body" class="x-panel-body x-grid-body x-panel-body-default x-layout-fit x-panel-body-default" style="width: 801px; height: 124px; left: 0px; top: 0px;">
<div class="x-tree-view x-fit-item x-tree-view-default x-unselectable" id="treeview-1049" tabindex="-1" style="overflow: auto; margin: 0px; width: 799px; height: 122px;">
<table role="presentation" id="treeview-1049-table" class="x-treeview-1049-table x-grid-table" border="0" cellspacing="0" cellpadding="0" style="width: 10000px;" tabindex="-1">
<colgroup>
<col class="x-grid-cell-treecolumn-1048" style="width: 10000px;">
</colgroup>
<tbody id="treeview-1049-body"></tbody>
</table>
</div>
</div>
</div>
<div class="x-component x-border-item x-box-item x-component-default" style="color: rgb(183, 1, 1); text-align: center; font-size: large; height: 23px; right: auto; left: 0px; top: 124px; margin: 0px; width: 801px; background-color: rgb(241, 241, 241);" id="middle_component"><i>Middle Component</i>
</div>
<div class="x-panel x-autowidth-table x-grid-no-row-lines x-grid-header-hidden x-border-item x-box-item x-panel-default x-tree-panel x-tree-lines x-grid" id="bottom_component" style="right: auto; left: 0px; top: 147px; margin: 0px; width: 801px; height: 124px;">
<div class="x-grid-header-ct x-grid-header-ct-hidden x-docked x-grid-header-ct-default x-docked-top x-grid-header-ct-docked-top x-grid-header-ct-default-docked-top x-box-layout-ct" style="border-width: 1px; height: 0px; right: auto; left: 0px; top: 0px; width: 801px;" id="headercontainer-1050">
<div id="headercontainer-1050-innerCt" class="x-box-inner " role="presentation" style="width: 10017px; height: 0px;">
<div id="headercontainer-1050-targetEl" class="x-box-target" style="width: 10017px;">
<div class="x-column-header x-column-header-align-left x-box-item x-column-header-default x-unselectable x-column-header-first x-column-header-last" style="border-top-width: 1px; border-bottom-width: 1px; border-left-width: 1px; width: 10000px; right: auto; left: 0px; top: 0px; margin: 0px; height: 0px;" id="treecolumn-1051">
<div id="treecolumn-1051-titleEl" class="x-column-header-inner"><span id="treecolumn-1051-textEl" class="x-column-header-text">Name</span>
<div id="treecolumn-1051-triggerEl" class="x-column-header-trigger"></div>
</div>
</div>
</div>
</div>
</div>
<div id="bottom_component-body" class="x-panel-body x-grid-body x-panel-body-default x-layout-fit x-panel-body-default" style="width: 801px; left: 0px; top: 0px; height: 124px;">
<div class="x-tree-view x-fit-item x-tree-view-default x-unselectable" id="treeview-1052" tabindex="-1" style="overflow: auto; margin: 0px; width: 799px; height: 122px;">
<table role="presentation" id="treeview-1052-table" class="x-treeview-1052-table x-grid-table" border="0" cellspacing="0" cellpadding="0" style="width: 10000px;" tabindex="-1">
<colgroup>
<col class="x-grid-cell-treecolumn-1051" style="width: 10000px;">
</colgroup>
<tbody id="treeview-1052-body"></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
我找到了这个关于组件生命周期的演示文稿,但我无法弄清楚如果您有多个级别的容器,需要从什么事件中调用“removeCls”。再次注意,通过 itslef 全部使用“removeCls”(作为“beforeRender”事件中的唯一函数,该类消失,因此 Activity1 backgroundColor 中恼人的红线不可见。但是如果我有“this.callParent( arguments)”,它不会从 Activity1 中删除实际的 CSS 类。应该调用什么事件来删除 CSS 类?
http://www.slideshare.net/moduscreate/ext-js-40-components-and-layouts
组件生命周期:
1. Initialization - Bootstrap the Component (Create ID, register with ComponentMgr, etc.)
a. configuration object is applied
b. base events are added
i. before activate, beforeshow, show, render
c. ID is assigned or auto generated
d. plugins are constructed (think ptypes or aliases)
e. initComponent is executed
i. custom listeners are applied
ii. bubbleEvents are initialized
f. component is registered with ComponentManager
g. base mixin constructors are executed
i. observable's constructor is called
ii. state's constructor is called
h. plugins are initialized
i. component loader is initialized
j. if configured, component is rendered (renderTo, applyTo)
k. if configured, component is shown
2. Render - Paint the Component on screen, hook element based events, use layouts to organize components
a. beforerender event is fired
b. component's element is cached as the 'el' reference
c. if a floating component, floating is enabled and registered with WindowManager
d. the component's container element is initialized
e. onrender is executed
i. component's element is injected into the DOM
ii. scoped reset CSS is applied if configured to do so
iii. base CSS classes and styles are applied
iv. 'ui' is applied
v. 'frame' initialized
vi. renderTpl is initialized
vii. renderData is initialized
viii. renderTpl is applied to component's element using renderData
ix. Render selectors are applied
x. 'ui' styles are applied
f. element's visibility mode is set via the hideMode attribute
g. if overCls is set, mouseover/out events are hooked
h. render event is fired
i. component's contents is initialized (html, contentEl, tpl/data)
j. afterRender is executed
i. container layout is initialized (AbstractContainer)
ii. ComponentLayout is initialized (AbstractComponent)
iii. Component's size is set
iv. if floating, component is moved in the XY Coordinate space
k. afterrender event is fired
l. afterRender events are hooked into the cmp's Elements
m. Component is hidden if configured
n. component is disabled if configured
3. Destruction - wipe the Component from the screen, purge event listeners
a. beforedestroy event is fired
b. if floating, the component is deregistered from floating manager
c. component is removed from its parent container
d. element is removed from the DOM
i. element listeners are purged
e. onDestroy is called
f. plugins are destroyed
g. component is deregistered from ComponentManager
h. destroy event is fired
i. state mixin is destroyed
j. component listeners are purged
最佳答案
我通过做一些不同的事情来修复它。问题来自中间组件的边缘。当我将上边距应用为中间组件的 -1px 时,红线永远不会出现。但有时边距太小一个像素,具体取决于我移动了多少。但有时我宁愿将其顶部缩小 1px,也不愿有时使用红线。
}, {
id: 'middle_component',
region: 'center',
xtype: 'component',
html: '<i>Middle Component</i>',
height: 50,
style: {
backgroundColor: '#F1F1F1',
color: '#b70101',
textAlign: 'center',
fontSize: 'large',
margin: '-1px 0px 0px 0px' // added this line!
}
}, {
关于css - 在 Sencha ExtJS 框架中应该删除什么 CSS 类的组件事件? (烦人的红线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26556891/
我有一个名为 main.css 的 css 文件和另一个名为 style.css 的文件。我怎样才能在 main.css 中做到这一点? .someClass { //apply rules to
在更新我的 css 之前,我在 Login.css 中有以下内容: body { background-image: url('./pictures/fond.png'); bac
我的 share point 2013 核心 css 和我的 css 之间存在 css 冲突。所以我想把我所有的类都放在 div #s4-workspace 下但是我搜索了一种方法来将所有类分组到这个
我知道您可以覆盖 jsp 页面从 jsp 包含 CSS 文件(即全局 CSS 文件)继承的 CSS 属性。 但是,如果元素中的某个属性弄乱了特定页面,而我不想只使用内联 CSS 在该页面中使用它怎么办
我刚刚发现了 initial-scale 元属性。 以前,我一直在使用 default.css 来定义我所有的样式和大小(用于字体和元素),以便它们在桌面计算机的屏幕上显示得很好。然后,如果您使用的是
我正在尝试使用 LESS CSS 来编写我的 CSS。我已经按顺序导入了 style.less 和 less.js 文件。 现在我想提取 LESS 生成的 CSS。有什么办法可以做到吗?我不想使用脚本
我想知道是否有任何一种软件可以读取大量内联样式中的 HTML 文档并将所有这些样式转换为外部 css 文件。如果只有一页,我可以手动完成。但是有100页。有人有想法吗? 最佳答案 就像有人说的那样,“
当我想从 Styled Components 迁移到 CSS Modules 时,出现了以下问题。 假设我有以下样式组件,它接受动态参数 offset和一个动态 CSS 字符串 theme : con
有没有办法将 CSS 类定义为与另一个类相等?例如,如果我有一个类: .myClass{ background-color: blue; } 有没有一种方法可以将第二个类定义为与 myClas
我正在尝试制作一组按钮,这些按钮贴在页面底部并且由固定的空间隔开。我正在使用 angularJS 的 ng-repeat 指令通过 ajax 请求获取数据,然后我用它来显示按钮。 我的问题在于让按
浏览器是否在加载 CSS 文件时解析 CSS?还是在整个 CSS 文件被浏览器下载后才进行解析?不同浏览器的做法有区别吗?我在哪里可以找到这种底层信息? 这个问题不是 Load and executi
这个问题在这里已经有了答案: Can a CSS class inherit one or more other classes? (29 个答案) 关闭 3 年前。 标题有点乱,我给大家看一下。假
我遇到了最奇怪的问题...... 在最简单的形式中,我有一个包含以下内容的 index.html 文件: (在尝试确定根本原因的过程中,我已经大大减少了它) 当我查看页面的源代码时,我得到以下信息:
我正在使用 Mindscape Workbench 来最小化我的 scss 文件。我的页面设置为使用 *.min.css 文件。在随机时间,min 文件不会与系统的其余部分一起发布。 我有很多 css
请告诉我 CSS 框架和 CSS 网格之间的区别。 最佳答案 CSS 框架也可以是 CSS 网格框架。 CSS 网格框架用于构建 CSS 布局。有一些框架除了构建布局还有其他用途,例如 Hartija
我有无法从页面中删除或更改的 original.css 文件。原始.css table { border-collapse: collapse; border-spacing: 0;
我以前使用 bootstrap css import 很好。 但是我正在尝试使用 CSS 模块,所以我添加了几行。 { test: /\.css$/, use:
有没有办法在 css 选择器中创建一个 css 组。 例如: .SectionHeader { include: .foo; include: .bar; include: .
今天我学习了 CSS 中的两个概念,一个是 CSS 定位(静态、相对、绝对、固定),另一个是 CSS Margin,它定义了元素之间的空间。 假设我想移动一个元素,这是最好的方法吗?因为这两个概念似乎
var paths = { css: './public/apps/user/**/*.css' } var dest = { css: './public/apps/user/css/' } /
我是一名优秀的程序员,十分优秀!