:::
所有書籍
「[1092] 前端技術入門」目錄
MarkDown
4-6 xotpl/opt.tpl
1. HTML5與CSS3入門
1-1 css/style.css
1-2 index.html
2. 進階自適應排版技術
2-1 theme.html
2-2 css/style.css
3. 製作成XOOPS佈景
3-1 theme.tpl
3-2 css/style.css
3-3 xotpl/nav.tpl
3-4 xotpl/block.tpl
3-5 xotpl/canvas.tpl
3-6 xotpl/search.tpl
3-7 xotpl/logo.tpl
4. 讓佈景可透過tad_themes來管理
4-1 theme.tpl
4-2 css/style.css
4-3 config.php
4-4 xotpl/nav.tpl
4-5 xotpl/menu.tpl
4-6 xotpl/opt.tpl
5. 用CSS3美化區塊
5-1 xotpl/block.tpl
5-2 css/style.css
5-3 theme.tpl
6. 利用多背景來組成自適應畫面
6-1 modules\system\system_siteclosed.tpl
6-2 config.php
6-3 xotpl\nav.tpl
6-4 theme.tpl
6-5 css\style.css
6-6 xotpl\header.tpl
6-7 xotpl\carousel.tpl
6-8 config2_slide.php
6-9 language\tchinese_utf8\main.php
6-10 config2.php
5-1 xotpl/block.tpl
\[1092\] 前端技術入門 =============== ### 一、將區塊標題部份改為自動樣板 1. 區塊標題其實有許多進階變化,例如用進階區塊即可替區塊標題加上圖片或隱藏區塊等效果。 2. 若要自己去轉換那些功能其實挺複雜,所以,可以用已經寫好的區塊標題樣板檔來取代之。 ```markup
<{includeq file="$xoops_rootpath/modules/tadtools/themes_common/blockTitle.tpl"}>
``` 3. 該自動樣板檔只有處理一些特殊技法,並不會對標題外觀有任何處理。 4. 該樣板會也產生`
`的內容。 ### 二、新增網頁字體 1. 可在
css
檔中加入一些不同的網頁字型 ```css @import url("https://schoolweb.tn.edu.tw/uploads/fonts/woff2.css"); ``` 2. 若不夠用,可以至
來取得更多字型 3. 以內海字體為例
,只要在
css
檔加入: ```css @font-face { font-family: naikaifont; src: url(https://cdn.jsdelivr.net/gh/max32002/naikaifont@1.0/webfont/NaikaiFont-Regular-Lite.woff2) format("woff2"), url(https://cdn.jsdelivr.net/gh/max32002/naikaifont@1.0/webfont/NaikaiFont-Regular-Lite.woff) format("woff"); } ``` 4. 如此,便可在
`font-family`
中使用名稱為
naikaifont
的字體 5. 範例:
### 三、關於
CSS
前綴(或辨識碼) 1. 在
CSS
標準還未確定前,部分瀏覽器已根據草案先實現了部分功能,此時會先加上前綴讓使用者可以先使用該功能,等
CSS
定案,即可將前綴拿掉。 2. `
-ms
`為
IE
;
`
-moz
`為
Firefox
;`
-webkit
`為
chrome
、
Edge
、
Safari
;`
-o
`為
Opera
3. 若想知道某些宣告樣式在各個瀏覽器的支援程度如何,可以參考:
### 四、先大致修改區塊樣板樣式 1. 先讓每個區塊間隔開來,並指定好區塊標題的大小,剩下的細部樣式可後續再來慢慢調整: ```css .block { margin-top: 1rem; margin-bottom: 3rem; } .blockTitle { height: 2.5rem; font-size: 1.5rem; } ```
### 五、用圖片或漸層當作文字顏色 1. 這是利用背景裁剪(`
background-clip
`)來做成的效果 ```css .blockTitle { font-family: HanWangMingBlack; background-image: linear-gradient(to right, #49533f, #A5BB8F); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } ``` 1. 首先,字型先挑選粗一點的字型,例如: `
HanWangMingBlack
` 2. `
linear-gradient()
`則是
CSS function
之一,用來製作漸層效果,第一個參數是設定角度或方向,預設是`
to bottom
`(上到下),詳細請參考:
3. `
webkit-background-clip
`並不是一個所有瀏覽器的支持的樣式,所以,請加上前綴,設定`
text
`是設定依照文字的形狀來裁剪背景之意。 4. `
-webkit-text-fill-color
`則是用來填入文字顏色,其作用和`
color
`一樣,但優先權比`
color
`高,我們用之來將文字設為透明,如此,才能看到被剪下的背景。 ### 六、替文字加框 1. 若想讓文字可以更清楚,加外框是蠻常見作法: ```css .blockTitle { font-family: naikaifont; color: #F5F4E9; text-shadow: 0px 2px #36626b, 2px 0px #36626b, -2px 0px #36626b, 0px -2px #36626b, -2px -2px #36626b, 2px 2px #36626b, 2px -2px #36626b, -2px 2px #36626b; } ``` 1. 主要是利用八次各個方向的 `
text-shadow
`文字陰影來兜成外框。 2. 用`
-webkit-text-stroke
`也可以做外框字,不過,該樣式會把框加在文字內緣,並不美觀。 ### 七、讓同一區域的區塊可以輪流套用不同效果 1. 先[準備幾張底圖](https://www.tad0616.net/uploads/tad_book3/file/46/images.zip),打算讓文字置中,並[套用不同底圖](https://www.tad0616.net/uploads/tad_book3/file/46/images.zip),先將共同的部份設好: ```css .blockHead { text-align: center; } .blockTitle { height: 2.5rem; font-size: 1.5rem; margin-bottom: 1rem; font-family: naikaifont; color: #F5F4E9; } ``` 2. 當有標題時,`
height
`就會生效,`
height
`可以設為底圖的高度。若沒有文字,`
height
`為
0
,如此可避免標題被隱藏的區塊跑出一個空底圖。 3. 接著將套用的底圖設定及外框顏色分別做成四個樣式(
`.bbg1`~`.bbg4`
): ```css .bbg1 { text-shadow: 0px 2px #804454, 2px 0px #804454, -2px 0px #804454, 0px -2px #804454, -2px -2px #804454, 2px 2px #804454, 2px -2px #804454, -2px 2px #804454; background: url('../images/bbg1.png') no-repeat ; } ``` 4.
配合底色,外框顏色分別設為:
`
#804454
`、`
#36626b
`、`
#6b6b1e
`、`
#3c583d
` 5. 底圖設為不重複,並設為從左邊、下方為主來顯示完整底圖圖檔 6. 在樣板部份,修改`
xotpl\block.tpl
`,並利用
Smarty
的`
cycle
`語法來依序套入不同樣式: ```markup
<{includeq file="$xoops_rootpath/modules/tadtools/themes_common/blockTitle.tpl"}>
```
### 八、讓中間區域的標題靠左 1. 由於底圖並不大,但中間區域頗大,因此標題若置中,文字會跑出底圖之外,因此修正之: ```css #page_center .blockHead { text-align: left; padding-left: 1rem; } ```
### 九、針對手機畫面自動調整標題對齊方式 1. 在電腦上看目前應該沒什麼問題,但手機模式看會發現標題置中並不美觀,因此,最好是電腦模式下標題置中,但在手機模式下標題可以靠左(類似中間區塊那樣)。 ```css @media only screen and (max-width: 768px) { .blockHead { text-align: left; padding-left: 1rem; } } ``` 1. 利用`
@media
`可以定義在某裝置於指定條件下自動套用定義好的樣式 2. `
only screen
`設定僅作用在螢幕上當寬度小於
768px
時就將標題向左對齊,並空
1
字。 3.
### 十、
CSS
的擬類別(
需注意順序,不然不會有效果
) 1.
`:link`
尚未瀏覽過的超鏈結 2.
`:visited`
已經瀏覽過其內容的超鏈 3.
`:hover`
滑鼠移到該元件上 4.
`:active`
滑鼠點下該元件的瞬間 ### 十一、
CSS
的偽元素 (用
::
和擬類別做出區隔,但其實一個
:
也是可以用的。 ) 1.
`::first-line`
元素中的第一行(僅用於區塊級元素) 2.
`::first-letter`
元素中的第一個字(僅用於區塊級元素) 3.
`::before`
在元素前(需和`
content
`一起使用) 4.
`::after`
在元素後插入內容(需和`
content
`一起使用) 5.
`::placeholder`
元素的佔位符號 6.
`::selection`
當
元素被標記的狀態
### 十二、替區塊加上設定按鈕 1. 我們希望若目前的登入身份是有管理權限的,那麼,當滑鼠移過標題時,就顯示設定工具。 2. 修改`
xotpl\block.tpl
`,在引入標題樣板的下方加入按鈕設定: ```markup
<{includeq file="$xoops_rootpath/modules/tadtools/themes_common/blockTitle.tpl"}> <{if $xoops_isadmin}>
<{/if}>
``` 3. 記得判斷`
$xoops_isadmin
`的值,以確保只有管理員能看到 4. 區塊設定的連結位置為 ```markup <{$xoops_url}>/modules/system/admin.php?fct=blocksadmin&op=edit&bid=<{$block.id}> ``` 5. 記得加上`
class
`樣式,如: `
blocktool
`,以便作為
CSS
挑選器 6. 暫時不在連結中填入內容,因為我們希望它在特定情況下才出現 ### 十三、利用
::before
或
::after
讓網頁元素無中生有
1. 比較簡單的作法:先至
下載個
24x24
的圖檔,如:
gear.png
2. 利用
:`:after`
,搭配 `
content
`,在挑選器後面新增該圖檔即可。 ```css .blockTitle { 略; display: inline-block; } .blocktool::after { content: url(../images/gear.png); } ``` 3. 為了讓圖片可以排在標題右邊,標題的顯示模式必須改為 `
inline
`或 `
inline-block
`才行 ### 十四、在
CSS
中使用
FontAwesome
圖示 1.
2. 若想在
CSS
中使用
FontAwesome
,可以用
FontAwesome UniCode
來達成。 3. 每個
FontAwesome
的圖示都有對應一個
UniCode
,一樣利用 `
content
`,並於
UniCode
前加一個
\\
即可。 ```css .blocktool::after{ font-family: "FontAwesome"; content: "\f013"; color: white; font-size: 1.5rem; margin-left: 1rem; } ``` 4. 由於他是文字,所以,一樣設定大小及顏色,並可套用任何的文字樣式效果。 5. 若想滑過標題才出現設定按鈕,只要利用`
:hover
`即可做到此效果: ```css .block:hover .blocktool::after { 略 } ```
### 十五、
CSS
的
position
位置概念 1. `
position:static
`「靜態」這是網頁的預設值。 2. `
position:relative
`「相對」指的是相對該元素原來所在的位置(下一個元素並不會隨之起舞),可用 `
top
`、`
bottom
`、`
left
`、`
right
`來調整該元素位置。 3. `
position:absolute
`「絕對」指的是相對於整個網頁最左上角的位置(此元素會飄起來,下一個元素會當作它不存在一樣遞補其位置),一樣可用 `
top
`、`
bottom
`、`
left
`、`
right
`來調整該元素位置。`
position:absolute
`搭配`
z-index
`,可以將元素進行上下排列。一般而言,`
z-index
`預設值為
0
。 4. `
position:fixed
`「固定」指的是相對於整個視窗最左上角的位置(此元素也會飄起來,下一個元素一樣當作它不存在而遞補其位置),可用
`
top
`、`
bottom
`、`
left
`、`
right
`來調整該元素位置,不管視窗如何捲動,永遠保持在固定位置(可用來做浮動視窗)。 5. 當`
position:relative
`包著`
position:absolute
`的時候,後者就會以前者的位置為基準,而非整個視窗。 ### 十六、讓滑鼠滑過標題時不再跳動 1. 先在`
.blockTitle
`的上一層`
.blockHead
`中加上`
position:relative
``
` ```css .blockHead { position: relative; text-align: center; } ``` 2. 然後在`
.blocktool::after
`中加入`
position: absolute
`即可 ```css .block:hover .blocktool::after { 略 position: absolute; } ``` 3. 利用這種方法,可以替區塊加入許多工具喔!例如關閉區塊、或直接連到進階區塊等。
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
67
人線上 (
10
人在瀏覽
線上書籍
)
會員: 0
訪客: 67
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入