2012-04-03 67 views
2

我需要創建這種佈局,我想盡可能多地使用CSS,而不是使用圖像等等。我可以用CSS獲得這些彎曲的角落嗎?

因此,我如何在CSS中做到這一點? (如果有的話?)

正如你所看到的,背後是圖像,按鈕上覆蓋着填充。我正在努力的那一點是在IMAGE的上方和左邊以及按鈕的右下方創建曲線(我已經在下面的圖片中指出了它們)。

任何幫助將是偉大的。

感謝

enter image description here

+0

讓我們看看標記你去... :) – 2012-04-03 20:14:02

+0

那麼ATM它只是一個div與背景IMG(性質PIC)與在左下角(按鈕)填充的ABS-POS股利。這給了我在我的文章中的圖像,但沒有在箭頭指向的角落上的曲線。 :) – 2012-04-03 20:16:12

+0

取決於您需要爲網站提供的支持。這可以在純CSS中完成,包括按鈕,但不包括其中的軟文本陰影,如果IE8及以下版本不成問題。 – sg3s 2012-04-03 20:16:46

回答

1

你根本不必拆分圖像,只有容器div。

讓我詳細介紹一下: 您可以將圖像設置爲背景圖像,而不是將其置於img標籤的src屬性中。使用CSS精靈時,這種技術是最常用的。所以,如果你有最高的div在一個固定的寬度和高度,如果你嘗試在其中應用背景圖像,你會發現它非常適合。

在底部,您有兩個div或您喜歡的任何塊元素,只要確保將固定的寬度和高度,所以背景將應用您將能夠實際看到它。

然後,所有你需要做的就是擺弄CSS背景位置來調整圖像的SE塊。

我會放一個小的演示,可以更好地說明這個思想。 之後,你有在頂部有一個大格,並在底部,其中兩個人共享相同的背景圖片兩個較小,但具有不同背景的位置,你可以放心地加入一些CSS3邊框半徑,以適應您的圓度的需求。您還可以使用一些工具(如http://css3generator.com/)輕鬆地在所有瀏覽器上添加兼容性層。

+0

這是一個很好的解釋。 :)感謝這!我本來應該自己做出來的!大聲笑。 – 2012-04-03 20:31:15

+0

不幸的是,我的網絡服務器現在很奇怪,我無法提供活動鏈接。請讓我知道是否有任何問題,但;-) – 2012-04-03 20:48:11

+0

啊哈!不用擔心,我認爲我明白你在說什麼,所以不要擔心。 :)我真的很感謝你的幫助。 :) – 2012-04-03 21:13:02

-1

這是背景圖片,這是一個CSS元件的功能,如果這就是你的意思,但它不是選擇一個單獨的屬性,至少不是標準CSS。等到CSS3變得更加優先,然後是角落半徑或其他某種東西。

嗯,它可能是3個單獨的div,一個「燒」成背景圖像的洞,或者一個div覆蓋按鈕。

弄清楚它是如何完成的最好方法是讀取您找到它的頁面的來源。

爲方便起見: 如果您有一個基於webkit的瀏覽器,如chrome或safari,然後在按鈕「右鍵單擊」上啓用開發者模式鼠標並選擇檢查元素。否則,你可以倒過頁面源,直到找到你想要的東西。

+0

嘿,謝謝。我知道「角落半徑」,而且我剛剛使用CSS3。然而,我不知道如何在覆蓋按鈕(填充)之後獲得這些邊角,否則你會這樣做。 – 2012-04-03 20:02:04

+0

你的意思是['border-radius'](https://developer.mozilla.org/en/CSS/border-radius)...?僅供參考:CSS3並不是一件可靠的事情。它由許多[模塊](http://www.css3.info/modules/)組成。許多CSS3功能已經在瀏覽器中實現。 – 2012-04-03 20:08:03

+0

這是3個大概3個單獨的div,一個洞被「燒」到背景圖像中,或者一個div被覆蓋在按鈕上。 如果你有一個基於webkit的瀏覽器,如chrome或safari,然後啓用開發模式鼠標在「右鍵單擊」按鈕並選擇檢查元素。否則,你可以倒過頁面源,直到找到你想要的東西。 – awiebe 2012-04-03 20:08:36

0

用純CSS很容易實現。您顯示的頁面被分成3個div,沒有任何餘量。您只需要爲每個div設置正確的邊框半徑。

+0

你如何做內部舍入箭頭指向而不分裂自然形象? – 2012-04-03 20:05:06

+0

設置z索引,它將覆蓋背景圖像。 – 2012-04-03 20:05:49

+0

你有一個div,頂部的全寬具有border-bottom-left-radius。右下角的div相同。然後你用箭頭得到你指出的區域。內部曲線來自右下角的div,邊界右上角。 – 2012-04-03 20:10:12

3

我知道足夠多的CSS是危險的,所以我無法詳細介紹每一步,但我認爲你可以接近這樣的:

在斯普利特的z-index的背景圖像分成兩個獨立的圖像都0在灰盒頂部的高度。我認爲你可以使用兩個div,它們引用具有不同偏移量的相同原始圖像(類似於CSS Sprites),但我不知道如何做到這一點的細節。較低的div的左邊緣將在灰色框結束的位置開始。繞過每個「圖像」的左下角div

使用適當的四捨五入法添加z-index爲1的灰色框,然後使用適當的四捨五入將z-index爲2的藍色框再次添加。

包含所有這些元素的塊元素的背景也必須是灰色的,以匹配灰色邊框並在最右邊的箭頭指向的位置正確填充灰色。

+0

非常感謝。我非常感激。讀完@ Victor的回答後,我想我明白你來自哪裏。 +1 – 2012-04-03 21:12:20