兩個相鄰盒子的邊框怎麼只顯示乙個 盒子模型高階

2021-10-12 06:45:29 字數 2978 閱讀 8066

在css入門我們已經了解了盒子模型,就不重複了。下面主要聊聊盒子模型的一些原理。

深入border

對於border屬性,「border:0」和「border:none」是有區別的。 

效能區別

「border:0」表示把border定義為0px。雖然0px在頁面上看不見,但是瀏覽器依然會對border進行渲染。也就是說,「border:0」需要占用記憶體。  

「border:none」表示把border定義為「none(無)」,瀏覽器並不會作出渲染。也就是說,「border:none」不需要占用記憶體。

相容區別

相容性差異只存在於ie6和ie7的input中type為button的標籤以及button標籤中,其他瀏覽器不存在相容問題。 

(1)「border:0」在所有瀏覽器中效果都一樣,都是把邊框隱藏(不是去掉)

(2)「border:none」對ie6和ie7按鈕的邊框無效,其他瀏覽器則會去掉按鈕的邊框。

外邊距疊加

經過開發的夥伴都遇到這種問題。假如在乙個頁面上有相鄰的兩個塊元素a和b,上為a下為b。a定義乙個margin-bottom,b定義乙個margin-top,最後的效果a和b之間距離肯定小於margin-bottom和margin-top之和。這就是外邊距疊加引起的。

外邊距疊加,又稱「margin疊加」,指的是當兩個垂直外邊距相遇時,這兩個外邊距將會合併為乙個外邊距。疊加之後的外邊距高度等於發生疊加之前的兩個外邊距中的最大值。

對於外邊距疊加,可以分為三種情況:同級元素、父子元素和空元素。

同級元素

當乙個元素出現在另外乙個元素上面的時,第乙個元素的下邊距(margin-bottom)將會與第二個元素的上邊距(margin-top)發生合併 。 

父子元素

當乙個元素包含在另外乙個元素中時(父子關係),父元素和子元素的相鄰上下外邊距也會發生合併。

空元素 空元素是沒有子元素和文字。 

當乙個空元素有上下外邊距時,如果沒有border或者padding,則元素上外邊距與下外邊距會發生合併。

注意:(1)水平外邊距永遠不會有疊加。

(2)垂直外邊距只會在以上三種情況下會疊加。

(3)外邊距疊加針對的是block以及inline-塊元素,不包括inline元素。因為inline元素的margin-top和margin-bottom設定無效。

負margin技術

margin為負數的時候,對普通文件流元素對浮動元素的影響是不一樣的。

負margin對普通文件流元素的影響,分兩種情況。

(1)當元素的margin-top或者margin-left為負數時,「當前元素」會被拉向指定方向。

(2)當元素的margin-bottom或者margin-right為負數時,「後續元素」會被拉向指定方向。

margin-top或者margin-left為負數是將元素拉出覆蓋之前的元素。margin-bottom或者margin-right為負數時是將當前元素後面的元素拉進,覆蓋定義的當前元素。

舉例:正常

doctype html>

負margin技術title>

.king div{

width: 300px;

height: 60px;

line-height: 60px;

font-size: 21px;

font-weight: bold;

text-align: center;

color: white;

.one{

background-color: chartreuse;

.two{

background-color: cyan;

.three{

background-color: antiquewhite;

.four{

background-color: dimgrey;

style>

劉德華div>

張學友div>

郭富城div>

黎明div>

margin-top為負數

margin-bottom為負數

通常乙個盒子的內容是被限制在盒子邊框之內的。但是有時也會產生溢位,也就是部分或者全部內容跑到盒子邊框之外。使用overflow屬性來定義當內容溢位元素邊框時發生的事情。overflow屬性取值如下表。

屬性值說明

visible

若內容溢位,溢位內容可見(預設)

hidden

若內容溢位,溢位內容隱藏

scroll

若內容溢位,顯示滾動條

auto

auto與scroll相似,不同的是auto值在盒子需要時候給乙個滾動條。

本節主要學習了盒子模型高階,最後對其總結。

只顯示border邊框左右(上下)兩邊怎麼寫?

先設全邊框,再取消上下邊框樣式 border 1px solid 000 border style none solid 先設全邊框,再設定上下邊框的線為沒有 border 1px solid 000 border width 0 1px 不建議使用原因如見上一條 先設全邊框,再取消上下邊框的寬度 ...

文字只顯示一行,和文字只顯示兩行的問題

在我們設定樣式的時候,不可避免的涉及到內容只出現一行或只出現自己想要的行數。1.首先說一行的問題。如果內容超出,還會看到現在的內容嗎?噠噠噠噠噠 outer 詳解 overflow hidden 這個就不用多說了,超出的部分隱藏。還可以用於清除浮動 不建議使用 text overflow ellip...

乙個盒子只是顯示兩行

在移動端中高度無法寫死,但標題類的部分有時候是規定只顯示兩行的,設定高度是不行的,用 webkit line clamp屬性,需要和display webkit box和 webkit box origent屬性結合使用。display webkit box webkit line clamp 2 ...