1

今日、Android モバイル プロジェクトで Worklight 5.0.5 を使用しているときに問題が発生しました。このプロジェクトは、Apache Cordova、Dojo Mobile、および Worklight のライブラリーを利用します (役立つ場合)。

問題は、場合によっては、ビルド時に Worklight が不要なインライン CSS を自動的に生成することです。Worklight のどのコンポーネントがこれを引き起こしているのか、また、必要に応じてこの動作を変更または防止する方法を見つけることもできません。これは小さな問題のように思えるかもしれませんが、これはインライン CSS であり、ビルド中に影響を与えることはできません!

JavaScript と CSS を検索すると、私が作成したものと Dojo 用にインポートしたものの両方で、CSS を追加するものは何も表示されないようです。

例:

HTML に次のタグがあります。

<ul data-dojo-type="dojox.mobile.TabBar" barType="segmentedControl"
class="center segmentContainer">

ビルド後、これは WebKit ベースのブラウザー (Google Chrome) で次のように表示されます。

<ul bartype="segmentedControl" class="mblTabBarSegmentedControl mblTabBar center segmentContainer mblTabBarNoIcons"
data-dojo-type="dojox.mobile.TabBar" id="dojox_mobile_TabBar_0"
widgetid="dojox_mobile_TabBar_0" style="padding-left: 78px;">

最後のインライン CSS である「padding-left」は、私が探して破棄しようとしているものです。この動作の原因と、それを変更または防止する方法を知っている人はいますか?

4

3 に答える 3

1

テクノロジーについてはよくわかりませんが、挿入された CSS を取り除くことができない場合は!important、独自の CSS で使用できます。例えば:

.segmentContainer {
    padding-left: 0px !important;
}

これにより、padding-leftステートメントの優先順位が通常の優先順位から外れます。通常、インライン、ID、クラスの順に進むと!important思いますが、クラスが優先されます。

于 2013-06-20T16:37:53.983 に答える
1

これがデフォルトの Dojo スタイルです。AppName.html に次のコードを記述してオーバーライドします。

...
<style>
.segmentContainer {
    //your personalization
}
</style>
</head>
<body>
......
<ul data-dojo-type="dojox.mobile.TabBar" barType="segmentedControl"
class="segmentContainer">
于 2013-06-21T07:29:54.490 に答える
1

この Worklight のビルド プロセスがこのスタイルを追加したのであって、Dojo による Dojo モバイル API をチェックして、デフォルトでそれが追加されていないことを確認します。TabBar 用の OOTB Dojo は、インライン CSS を使用して次のマークアップを生成します。

<ul id="demoTabBar" dojotype="dojox.mobile.TabBar" single="true" iconbase="images/tabbar_all.png" fixed="bottom" role="tablist" class="mblTabBarTabBar mblTabBar mblFixedBottomBar mblTabBarNoText mblTabBarFill" widgetid="demoTabBar" style="bottom: 0px; padding: 0px;">
于 2013-06-20T19:19:02.067 に答える