目錄
Buy widgets
首頁 web前端 css教學 css技巧十條_CSS/HTML

css技巧十條_CSS/HTML

May 16, 2016 pm 12:11 PM

1.css 字體簡寫規則
使用css定義字體時你可能會這樣做:
font-size: 1em;
line-height: 1.5em;
font-weight: bold;
font-style: italic;
font-variant: small-caps;
font-family: verdana,serif;
事實上你可以簡寫這些屬性:
font: 1em/1.5em bold italic small-caps verdana,serif
現在好多了吧,不過有一點要注意:使用這一簡寫方式你至少要指定font-size和font-family屬性,其他的屬性(如font-weight, font -style,font-varient)如未指定將自動使用預設值。


2.同時使用兩個class
通常我們只為屬性指定一個class,但這並不等於你只能指定一個,實際上,你想指定多少就可以指定多少,例如:

...


透過同時使用兩個class(使用空格而不是逗號分割),這個段落將同時應用兩個class中製定的規則。如果兩者中有任何規則重疊,那麼後一個將獲得實際的優先應用。


3.css中邊框(border)的預設值
當寫一條邊框的規則時,你通常會指定顏色、寬度以及樣式(任何順序均可)。例如:border: 3px solid #000(3像素寬的黑色實線邊框),其實這個例子中唯一需要指定的值只是樣式。假如你指定樣式為實線(solid),那麼其餘的值將使用預設值:預設的寬度為中等(相當於3到4像素);預設的顏色為邊框裡的文字顏色。如果這正是你想要的效果,你完全可以不在css裡指定。


4.!important會被IE忽略
在css中,通常最後指定的規則會獲得優先權。然而對除了IE以外的瀏覽器來說,任何後面標有!important的語句將獲得絕對的優先權,例如:
margin-top: 3.5em !important; margin-top: 2em
除IE以外所有瀏覽器中的頂部邊界都是3.5em,而IE為2em,有時這一點很有用,尤其在使用相對邊界值時(就像這個例子),可以顯示出IE與其他瀏覽器的細微差別。
(很多人可能還注意到了css的子選擇器也是會被IE忽略的)


5.圖片替換的技巧
使用標準的html而不是圖片來顯示文字通常更為明智,除了加快下載還可以獲得更好的可用性。但是如果你決心使用訪客的機器中可能沒有的字體時,你只能選擇圖片。
舉例來說,你想在每一頁的頂部使用「Buy widgets」的標題,但你同時又希望這是能被搜尋引擎發現的,為了美觀你使用了少見的字體那麼你就得用圖片來顯示了:

Buy widgets


這樣當然沒錯,但是有證據顯示搜尋引擎對真實文本的重視遠超過alt文本(因為已經有太多網站使用alt文本充當關鍵字),因此,我們得用另一種方​​法:

Buy widgets

,那你的漂亮字體怎麼辦呢?下面的css可以幫忙:
h1
{
background: url(widget-image.gif) no-repeat;
}

h1 span
{
position: absolute;
left:-2000px;
}
現在你既用上了漂亮的圖片又很好的隱藏了真實文本——借助css,文本被定位於屏幕左側-2000像素處。


6.css盒模型hack的另一個選擇
css盒模型hack用來解決IE6之前的瀏覽器顯示問題,IE6.0之前的版本會把某元素的邊框值和填充值包含在寬度之內(而不是加在寬度值上)。例如,你可能會使用以下css來指定某個容器的尺寸:
#box
{
width: 100px;
border: 5px;
padding: 20px;
}
}
然後在html中應用:
...

盒的總寬度在幾乎所有瀏覽器中為150像素(100像素寬度+兩條5像素的邊框+兩個20像素的填充),唯獨在IE6之前版本的瀏覽器中仍然為100像素(邊框值和填充值包含在寬度值中),盒模型的hack正是為了解決這一問題,但是也會帶來麻煩。更簡單的方法如下:
css:
#box
{
width: 150px;
}

#box div
border: 5px;
#box div
border: 5px;padding: 20px;
}
html:
...


這樣一來在任何瀏覽器中盒的總寬度都將是150像素。


7.將塊元素居中
假設你的網站使用了固定寬度的佈局,所有的內容置於屏幕中央,可以使用以下的css:
#content
{
width: 700px;
margin: 0 auto;
}
你可以把html的body之內任何項目置於の場合、アイテムは自動的に等しい左右の境界値を取得して、中央に表示されます。ただし、これは IE6 より前のブラウザでは依然として問題であり、中央揃えにならないため、次のように変更する必要があります:
body
{
text-align: center;
}

#content
{
text-align: left;
width: 700px;
margin: 0 auto;
}
本文を設定すると、本文のコンテンツが中央に配置されますただし、すべてのテキストが中央揃えであっても、これはおそらく希望する効果ではありません。このため、#content の div にも値を指定する必要があります: text-align: left

8。垂直方向のセンタリングを実現します
垂直方向のセンタリングはテーブルにとって簡単で、セルをvertical-align: middleとして指定するだけですが、これはCSSレイアウトでは機能しません。ナビゲーション メニューの高さを 2em に設定し、CSS で垂直方向の配置規則を指定したとします。テキストは依然としてボックスの上部に配置され、まったく違いはありません。
この問題を解決するには、ボックスの行の高さをボックスの高さと同じに設定します。この例では、ボックスの高さは 2em で、CSS に別の line-height: 2em を追加するだけです。垂直方向のセンタリングが可能!

9. コンテナ内での CSS の配置
CSS の最大の利点の 1 つは、ドキュメント内の任意の場所にオブジェクトを配置できることです。オブジェクトはコンテナ内にも配置できます。 CSS ルールをコンテナに追加するだけです:
#container
{
position:relative;
}
これにより、コンテナ内の要素の位置はコンテナを基準にしたものになります。次の HTML 構造を使用するとします。

コンテナ内にナビゲーションを配置する場合は、左の境界線から 30 ピクセル、境界線から 5 ピクセルの位置に配置します。 top では、次の CSS ステートメントを使用できます:
#navigation
{
position:Absolute;
left: 30px;
top: 5px;
}

10. 画面の下部まで拡張します 背景色
CSS の欠点の 1 つは、垂直方向の制御が欠如していることであり、テーブル レイアウトでは発生しない問題が発生します。 Web サイトのナビゲーションを配置する列をページの左側に設定するとします。ページの背景は白ですが、ナビゲーション列の背景を青にしたい場合は、次の CSS を使用します:
#navigation
{
background: blue;
width: 150px;
}
問題は、ナビゲーション項目がページの下部まで拡張されておらず、当然のことながら、その背景色も下部まで拡張されていないことです。そのため、左の列の青い背景がページの途中で切り取られ、デザインが無駄になってしまいます。何をするか?残念ながら、本文の背景を左の列と同じ色と幅の画像として指定することしかできません。CSS は次のとおりです:
body
{
background: url(blue-image.gif ) 0 0repeat-y;
}
背景画像は幅 150 ピクセルの青色の画像である必要があります。この方法の欠点は、em を使用して左列の幅を指定できないことです。ユーザーがテキストのサイズを変更してコンテンツの幅が拡大しても、背景色の幅はそれに応じて変更されません。
この記事を書いている時点では、これがこの種の問題に対する唯一の解決策であるため、自動的に引き伸ばされる別の背景色を取得するには、左の列のピクセル値のみを使用できます。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

使用Redwood.js和Fauna構建以太坊應用 使用Redwood.js和Fauna構建以太坊應用 Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

在WordPress塊編輯器中使用Markdown和本地化 在WordPress塊編輯器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我們需要直接在WordPress編輯器中向用戶顯示文檔,那麼最佳方法是什麼?

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

See all articles