2015-10-16 22 views
0

我在移動應用程序項目中使用AngularJSCordova(離子),並且所有內容都使用相同的page perse。一切被裝入單個index.html文件,所以每個「網頁」之間的body, html, ion-view, ion-content元件全部共享/「接口」如果存在子類,是否可以應用CSS樣式?

基本上,所有的我的接口設置了與唯一標識符:

<ion-content id="interface-name">...</ion-content> 

然而,在此界面中,我需要確保以下要素有以下類型:

html, body, ion-view, ion-content, .scroll { 
    height: 100%; 
    overflow: hidden; 
    margin: 0; 
    padding: 0; 
} 

這樣的界面可以全屏。這一切都很好,並且很花哨,但是這導致我的其他界面無法垂直滾動/展開。

有沒有一種方法(使用CSS)僅在存在子id/class時應用樣式,例如,僅當id="interface-name"應用於子元素時才應用上述樣式?

+0

如果你只是想應用樣式的ID =「接口名」,然後在CSS中只需添加#接口名{}內容 –

+0

有很多關於'討論:parent', ':在過去的幾年中有()'或者具有類似目的的選擇器,可悲的是,只是討論。這裏有一個5年前的帖子:https://remysharp.com/2010/10/11/css-parent-selector – Leo

+0

@VictorLuna - 如果你閱讀這個問題,這是行不通的,因爲「全屏「頁面,以上所有元素都需要具有100%屬性。 – Hobbyist

回答

1

不,這是級聯樣式表的「級聯」部分。這是一種自頂向下的方法,您無法恢復流。

0

如果你想你上面的代碼在ID /班工作,例如僅適用於ID =「接口名」

#interface-name { 
    height: 100%; 
    overflow: hidden; 
    margin: 0; 
    padding: 0; 
} 
0

您可以用在頁面加載時間的JavaScript函數做到這一點,但你不能有條件地應用CSS規則來存在子元素。一些簡單的像

var parent = document.getElementById("elementId").childNodes; 
var children = parent.childNodes; 
for(child in children) { 
    if(child.id == "theIdYouAreLookingFor") { 
     parent.style.height = "100%"; 
     // set other CSS rules here 
     // ... 
     break; // we're done, no need to check other children 
    } 
} 
+0

該問題明確要求在CSS中完成。 – Rob

+0

我想答案是否定的:S – Matt

+0

如何修改'html'樣式使用javascript? – Hobbyist

相關問題