CSS CSS中使用span和div遇到的問題

2021-09-13 18:50:22 字數 1473 閱讀 7691

1.span是行級元素,div是塊級元素

2.span占用的寬度是內容的寬度,而div預設是一行。

所以一般在頁面中,只有一行或不到一行文字用span,元素佔據多行時用div。

下圖是希望得到的效果

div在兩個span的下方,但是如果這麼寫,

div和span的位置重疊,因為對span元素設定了float屬性,從而導致浮動塌陷,解決辦法是將span元素的高度計算進去,但是因為span元素是行級元素,無法設定高度,所以需要其他解決辦法。

這樣就可以了。

將div設定為display: inline-block,使其既具有block元素的特性,可以設定寬度和高度,同時也具有inline元素的不換行的特性。

但是這是對第二個span元素設定的float: right屬性不生效,因為display: inline-block會使元素按行依次排列,所以第二個span元素的float: right不生效,要想達到想要的效果,可以通過設定margin-left來實現。

將div設定為overflow: hidden,使其形成bfc,可以使div高度自動計算,從而和下面的div不會發生重疊。

將content設定為position: absolute,所以content會去找第乙個position屬性不為static的父元素,即html,於是就會相對於html向下移動30px。

這種方法雖然也可以解決問題,但是也會帶來新的問題,因為position: absolute會導致content元素脫離文件流,如果在content元素下面還有其他元素,那麼其他元素位置可能會和content元素重疊。

例如,

所以又發生了同樣的問題,這種方法不推薦。

對於span和div都用時,同時span元素設定float屬性時,還是對span外加div使其變成塊級元素並設定高度,才不會使其後面的元素受到影響。

div和span元素的使用區別

div和span在使用上還是有所區別的 從定義上來說,span 和 div 的區別在於,div division 是乙個塊級元素,可以包含段落 標題 乃至諸如章節 摘要和備註等。而span 是行內元素,span 的前後是不會換行的,它沒有結構的意義,純粹是應用樣式,當其他行內元素都不合適時,可以使用...

Unity3d中使用Profiler除錯裝置的方法

其實搞完了以後發現還是比較簡單的,但是有幾點比較注意的地方 一.使用unity做android開發,一定要切記備份android的開發環境,也就是sdk。因為一旦更新sdk,有可能造成sdk內的檔案結構改變,那麼unity無法正確找到檔案的話,build的時候就會不斷的報錯。雖然網上有各種解決辦法,...

Unity3D中使用KiiCloud總結一

kii cloud目前包含以下七大功能 使用者管理 不需要設定伺服器或編寫任何乙個api,即可管理您的使用者。資料分析 生成任何你能想象的會話 事件 度量和資料分析。賺取利潤 厭倦了低點選轉化率?獲取您應得的利潤吧。訊息推送 向使用者和應用程式推送操作手冊 資料和api產生的通知。地理定位 利用豐富...