哪種方法更有效地呈現大寫文本:CSS還是PHP?哪種方法對大寫文本更有效:CSS還是PHP?
a。 PHP
<?php
echo strtoupper("Test"); // TEST
?>
b。 CSS
<style type="text/css">.uppercase { text-transform: uppercase; }</style>
<div class="uppercase">Test</div>
哪種方法更有效地呈現大寫文本:CSS還是PHP?哪種方法對大寫文本更有效:CSS還是PHP?
a。 PHP
<?php
echo strtoupper("Test"); // TEST
?>
b。 CSS
<style type="text/css">.uppercase { text-transform: uppercase; }</style>
<div class="uppercase">Test</div>
在渲染內容方面沒有真正的效率差異。一個是通過PHP在服務器上呈現的。另一個使用CSS在瀏覽器中呈現。
您可能需要考慮一個通用效率問題。
使用PHP,您將單個字符串轉換爲大寫。如果你有其他的字符串轉換,你需要每次重複該功能。
使用CSS,您可以使用單個選擇器定位您希望大寫的所有文本。
在這方面,我會說CSS更高效,因爲它更簡單,可擴展且更容易維護。
此外,假設CSS處理其他文本樣式,如font-size
,font-family
,font-weight
,font-style
,color
和letter-spacing
,那麼爲什麼不包括在該組中text-transform
?
爲什麼選出一種樣式由PHP處理,其餘的由CSS處理?
除非出於某種原因,PHP必須處理大寫轉換,否則應該將所有樣式任務分配給CSS。
兩種方式都是高效:給定任何輸入,兩種方式都會將輸入轉換爲等量的步驟(假設類似的實現,即O(n))的大寫輸出。
但是,您應該問的問題不在於兩者是否都有效;問題是您是否希望您的服務器負責將文本轉換爲大寫形式樣式的目的。
答案是:當然不是,that's CSS' job。
讓客戶端(瀏覽器)處理文本轉換將從服務器中刪除一條指令(每個請求),並將客戶端/服務器的責任分開。
現在一條指令可能沒有多大改變,但情況並非總是如此。保持客戶端/服務器職責分離有助於保持代碼清潔。 :)
它也有一個好處@Michael_B提到,這是你可以更容易地使用CSS選擇器定位多個字符串,而不是用PHP手動轉換它們。
這兩種效率都取決於您是否要使用您的服務器或用戶的瀏覽器。 – Dekel
通過效率,你意味着運行它時失敗的機率?我認爲css和php都可以在100%的場合將文本轉換爲大寫。 –
問題分離:PHP處理內容,CSS處理樣式。你認爲它屬於哪一類? – 4castle