回答
編輯:我會做什麼,這些天,如果有在元素的文本內容方面是有點多是使用box-shadow
和background-clip
。否則,請參閱我原始答案中的最後一個解決方案。
div {
border-bottom: solid .75em transparent;
margin: 7em auto 1em;
width: 10em; height: 5em;
box-shadow: 0 1px 0 -1px black;
background: dimgrey padding-box;
}
<div></div>
讓我們來剖析以上。
首先,border-bottom: solid .75em transparent
。
border-bottom
區域將成爲缺口區域。這就是爲什麼我們要透明。更改此邊框的寬度會改變間隙的寬度。
margin
,width
和height
規則 - 這裏沒什麼奇怪的,只是定位和調整元素大小。
然後我們有這個位:box-shadow: 0 1px 0 -1px black
。
這個沒有模糊的box-shadow
創建底部邊框。 y
偏移量(第二個值)創建一個1px
「邊界」。增加這個y
偏移增加了我們的「邊界」的寬度。這是一個black
邊界,但我們可以將其更改爲其他任何內容。
我們也不希望我們的箱形陰影顯示在兩側,所以我們給它一個-1px
傳播。
最後,我們在我們的元素上設置了一個background
。這是一個dimgrey
之一,但它可以是其他任何東西(漸變,圖片,不管)。默認情況下,背景也會在邊界下延伸,但我們不希望這樣,所以我們將其限制在padding-box
的區域。我在這裏使用了速記。該longhand屬性是background-clip
,你可以找到它的工作原理的詳細解釋和其他與this article(免責聲明:我寫的)類似的例子。
這裏是原來的答案
你可以使用一個僞元素。絕對定位,100%寬度,低於元素底部的偏移量。
demo
HTML:
<div></div>
CSS:
div {
position: relative;
margin: 7em auto 1em;
width: 10em; height: 5em;
background: dimgrey;
}
div:after {
position: absolute;
bottom: -.8em;
width: 100%;
border-bottom: solid 1px;
content: '';
}
或者你可以使用background-clip: content-box
,你將不再需要使用僞ELE換貨。但是,那麼你的文本將堅持到背景的邊緣(除非它是一個小文本和居中)。
相關CSS:
div {
margin: 7em auto 1em;
padding: 0 0 .8em;
border-bottom: solid 1px;
width: 10em; height: 5em;
background: dimgrey content-box;
}
這會在元素和邊框之間創建一個距離? – user1534664
可以使用的填充。
padding: 10px; // push 10px the content
border: 1px solid #fff;
填充只是使邊界和內部的內容之間的距離更寬。它不會更改邊框底部的偏移量。 – user1534664
然後,使用margin:10px; – miduga
保證金和填充是在圖像周圍或對象空格。
正如您在圖像中看到的,填充是內容和您定義的邊框之間的空間,而不是邊框之間的空間,邊框和此對象旁邊的其他元素之間的空間。
所以你的情況,你可以做這樣的事情:
HTML:
<div id="box"></div>
CSS:
#box{
background: url(image.jpg) no-repeat;
height: 100px;
width: 100px;
border-bottom: 1px solid #333;
padding-bottom: 10px;
}
在這裏你可以找到一個簡單的例子:http://jsfiddle.net/k7QcN/
- 1. 在開始活動之前是否可以釋放內存?
- 2. 是否可以在頁面開始加載之前顯示加載gif /圖像
- 3. 是否可以在不移動開始的情況下抽出整個元素?
- 4. 是否可以停止從元素開始的所有事件?
- 5. 在CSS中,是否可以在換行之前選擇最後一個元素?
- 6. 是否可以在DirectionsService的路線中從起點開始的某個「km」之後放置一個標記?
- 7. 是否可以在僞元素之前/之後設置iframe的樣式?
- 8. 是否有`iterate`以原始元素開始的原因?
- 9. 在開始閱讀之前可以知道php://輸入是否包含數據?
- 10. 在Simulink仿真開始之前是否可以調用特定的函數?
- 11. 是否可以在JavaScript中讀取圖像的像素?
- 12. 路線是否可以從一個變量開始?
- 13. 聯盟是否可以從一個空的var開始?
- 14. 是否可以強制AR對象ID從某個值開始?
- 15. 確定自開始以來是否已經過了x`小時
- 16. 在服務器初始加載之前是否可以顯示默認圖像?
- 17. 是否可以從頭開始創建Mac OS X安裝程序?
- 18. 後臺定位服務已經開始後,是否可以更改刷新率?
- 19. 是否可以添加/刪除CSS元素之前和之後的類屬性?
- 20. HTML:有什麼方法可以確定一個元素是否在另一個元素之後?
- 21. 是否可以在PHP腳本執行開始後自動調用函數?
- 22. Scrapy:是否可以暫停Scrapy並在x分鐘後恢復?
- 23. 是否可以在類之外初始化變量?
- 24. 顯示一個圖像,然後是第二個圖像iPhone上的用戶Preses「開始」之後的圖像
- 25. 是否可以改變Python中單個像素的顏色?
- 26. Android開發:即使在「清除數據」之後,是否可以保留文件?
- 27. 是否可以計算某個班級之後的div數量?
- 28. 是否可以更改UIDatePicker以年,月和日開始?
- 29. Angular中的數字輸入是否可以以空值開始?
- 30. 如何在x秒後開始觀察
W你想要的帽子? – twodayslate
閱讀標題並看到圖像後應該很明顯。 – user1534664
@Fabio我知道邊界是什麼。我只是檢查是否有css3選項,因爲我已經看到人們在邊界上使用漸變等東西。 – user1534664