2 回答

TA貢獻1816條經驗 獲得超4個贊
如果您希望每個類都有唯一的值,那么您可以執行以下操作:
<?php
for ($k = 1; $k <= 2; $k++)
echo '<section class="SectionOuter SectionOuterAlt SectionOuterAlt-' . $k . '">';
for ($k = 1; $k <= 2; $k++)
echo '<section class="SectionInner SectionInnerAlt SectionInnerAlt-' . $k . '">';
輸出將是這樣的:
<section class="SectionOuter SectionOuterAlt SectionOuterAlt-1">
<section class="SectionOuter SectionOuterAlt SectionOuterAlt-2">
<section class="SectionInner SectionInnerAlt SectionInnerAlt-1">
<section class="SectionInner SectionInnerAlt SectionInnerAlt-2">

TA貢獻1805條經驗 獲得超9個贊
另一個答案不起作用的原因是它正在應用可能不合適的類,并且可能需要替換其他類。
您需要做的是保持現有類不變,并添加一個可用于獨特樣式的新類。
在頁面頂部,您可以添加一個全局變量,例如
<?php $SectionCount = 0; ?>
然后,在要添加唯一類的地方,可以執行以下操作:
<section class="SectionOuter<?php echo $alt; ?> UniqueClass-<?php echo $SectionCount++; ?>" > <section class="SectionInner<?php echo $alt; ?> UniqueClass-<?php echo $SectionCount++; ?>" >
這將自動向每個部分添加一個新的、唯一的類,稱為UniqueClass-n
(n
在頁面中是唯一的),而不影響現有的功能或樣式。它也不限于每頁僅 2 個數字或部分。
使其全球化
您可以通過多種方式使其全局化,具體取決于頁面的設置方式,例如
在頭代碼中添加全局變量
在頁面上使用唯一的類
body
來定位每個頁面(例如.homepage .UniqueClass-1 {} .contactpage .UniqueClass-1 {}
等)
但是,如果沒有有關如何設置您當前站點的更多信息(例如 CMS,或者可能存在哪些模板文件來添加代碼),我們無法準確告訴您如何實現這一目標。
更新:
向所有頁面的每個部分添加唯一的編號實際上并不可行 - 這是可能的,但與手動添加它們相比,它需要花費同樣多(或更多)的精力(為了使其持久且一致,必須將其分配給每個部分)。
您可以:
使用頁面主體和部分類的唯一類/id 的組合(如上所述)或
根據頁面的某些唯一標識符為每個部分生成一個新類
無論哪種情況,您都需要在每個頁面上使用唯一的標識符。這取決于頁面的設置方式,但如果您使用 CMS,則每個<body>
元素可能會添加一個唯一的類。
1. 班級組合
例如,您的主頁可能有類似的內容,<body class="homepage page-452">
“關于”頁面可能是:<body class="page-about page-818">
等等。
在這種情況下,您可以使用這些類的組合來定位每個特定頁面上的部分,例如
// target ONLY UniqueClass-1 on the page with the specified body class
.page-452 .UniqueClass-1 { /* CSS HERE FOR HOMEPAGE ONLY */ }
.page-818 .UniqueClass-1 { /* CSS HERE FOR ABOUT PAGE ONLY */ }
如果不了解有關您的 CMS 或生成的 HTML 的更多信息,則很難給出準確的答案,但這就是您可以做到的方法。
(自從我開始回答這個問題以來,我在您發表的評論中看到您的 CMS 沒有獨特的正文類,因此您需要使用下一個選項:)
2. 生成一個獨特的類
或者,要為每個頁面生成唯一的類,如果您的 CMS 生成了 slug,則可以使用 slug,或者如果頁面標題始終是唯一的,您可以通過將其添加到聲明 $SectionCount 的頁面頂部,例如:
頁面頂部:
<?php
$SectionCount = 0;
$pageClass = preg_replace( '/[^A-Za-z0-9_-]/', '', $pageTitle);
?>
然后您可以創建您獨特的類,如下所示:
<section class="SectionOuter<?php echo $alt; ?> ClassPrefix-<?php echo $pageClass."-".($SectionCount++); ?>" >
<section class="SectionInner<?php echo $alt; ?> ClassPrefix-<?php echo $pageClass."-".($SectionCount++); ?>" >
現在,您可以單獨定位每個頁面的每個部分,如下所示:
.ClassPrefix-generated-page-class-1 { /* CSS HERE */ }
.ClassPrefix-generated-page-class-2 { /* CSS HERE */ }
/* etc */
- 2 回答
- 0 關注
- 160 瀏覽
添加回答
舉報