2015-07-21 53 views
0

我想更改html頁面的字體/ font-color/font-size。我已經使用String(contentsOfFile)將css文件轉換爲字符串。我可以使用regEx或類似的東西來編輯css數據。下面是使用ESCssParser CSS文件在不使用javascript的情況下在swift/obj c中編輯css文件

.calibre { 

    color: #000; 
    display: block; 
    font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; 
    font-size: 1em; 
    margin-bottom: 0; 
    margin-left: 5pt; 
    margin-right: 5pt; 
    margin-top: 0; 
    padding-left: 0; 
    padding-right: 0; 
    text-align: justify 
} 

我還試圖轉換此字符串(CSS文件)到字典的樣本。但是,當我將字典(更改字體大小後)轉換爲字符串時,格式不同。不同之處在於#idSelector會變成「#idSelector」。我假設這些更改會影響CSS文件。我錯了嗎?

是否有任何其他方法可以用來編輯Css文件? 謝謝!

+0

您可以將文件加載到字符串中,解析字符串,更改要更改的內容然後再次保存該css文件。您的頁面需要重新加載才能看到更改,但爲什麼要這樣做呢? – gaynorvader

+0

我會在加載頁面之前更改CSS。例如,用戶選擇大小(小,中等或大)。然後,當他解散視圖控制器時,具有新大小的頁面將出現 –

+0

「更改要更改的內容」。我的問題是我如何改變它?像CSS是一個大字符串對嗎?我可能需要在多個地方更改它 –

回答

0

如果您在您的html中更改了一個類,而不是嘗試在您的css中更改很多條目,那將會更好。 例如,如果您制定了您的HTML這樣的:

<body> 
    <div id="wrapper" class="med"> 
     <p class="calibre">Lorem Ipsum</p> 
     <!--rest of html--> 
    </div> 
</body> 

你可以改變在#wrapper元素的類在你的後端代碼,然後用CSS來判斷頁面的風格,就像這樣:

.calibre { 
    color: #000; 
    display: block; 
    font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; 
    font-size: 1em; 
    margin-bottom: 0; 
    margin-left: 5pt; 
    margin-right: 5pt; 
    margin-top: 0; 
    padding-left: 0; 
    padding-right: 0; 
    text-align: justify 
} 
#wrapper.small .calibre{ 
    font-size: 0.8em; 
} 
#wrapper.large .calibre{ 
    font-size: 1.4em; 
} 

在上面的例子中,med沒有特定的類,所以默認會使用(1em)。如果您要使包裝類具有小類或大類而不是中等類,那麼口徑仍然具有所有相同的屬性,但font-size在小的情況下將更改爲0.8em,在大的情況下將更改爲1.4em

Here's jquery代替你的後端代碼的例子。

+0

然後,我需要新的類(對於醫學)有以前的屬性,除了我想要改變的屬性。我會怎麼做呢?謝謝! –

+0

如果med不是你的默認值,那麼你可以像'#wrapper.med {font-size:1.1em;}'或其他任何東西一樣添加另一個css。口徑類將始終從css中的長條目中獲取所有內容,而當wrapper具有「small」或「large」類時,「font-size」僅在示例中被覆蓋。 – gaynorvader

+0

如果我正確理解這一點,如果文本的類型爲#wrapper.small並且具有類別口徑,則它將獲得口徑類的所有屬性,並且#wrapper.small將覆蓋口徑類中的屬性。 –

相關問題