日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

span标签的间距问题

發布時間:2023/12/18 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 span标签的间距问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言

??平時在實現ui的設計稿的時候會遇見一些小問題,比如莫名其妙的間距,明明沒有加margin和padding,但是就是會出現間距,這就是兩個span標簽的間距問題。我們今天就這個問題進行分析。

二、現象描述

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body><span>hello</span><span>world</span><span>helloworld</span> </body> </html>

??我們看這樣一段代碼,他展示出來的效果是這樣的

??可以看到,我們的span上沒有應用任何樣式,但是仍然出現了間距。
??又或者是下面這段代碼;

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.inline-block {display: inline-block;width: 100px;height: 100px;border: 1px solid black;}</style> </head> <body><div class="inline-block"></div><div class="inline-block"></div> </body> </html>

??他的效果是這樣的:

??我們也可以很明顯的看到,兩個div直接出現了間隙。那么,這個間隙到底是怎么出現的呢?

三、原因

??導致這個現象出現的原因很簡單,我們知道多個空格或者回車瀏覽器都會解析成空格,其實,我們span與span之間敲的回車,就被解析成了空格。所以,那一點間隙,其實就是這個空格,如果不理解,看下面這段代碼就能理解了。

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body><span>hello world</span><br><span>helloworld</span><br><span>hello</span><span>world</span> </body> </html>

??他的效果是這樣的;

??怎么樣,是不是一模一樣,這下你能理解為什么我們沒有加margin和padding,沒有添加任何樣式,他們之間也存在間距了吧?

四、解決方案

??既然知道了原因,那這個問題就很好解決了。

  • 代碼中不要寫空格:
    既然這個問題是空格導致的,那我們不要空格或者回車,這個問題就解決了<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body><span>hello</span><span>world</span><br><span>hello</span><span>world</span> </body> </html> ??像上面這種寫法,展現出來的效果就是:

    ??這樣兩個單詞之間的間距就沒有啦,不過這種寫法會導致我們的代碼不整潔,對于有強迫癥的小伙伴來說是接受不了的,我們可以用其他的方法來解決這個問題。
  • 通過css去消除間距
    ??既然它出現了間距,那我們啥也不管,把它弄掉就行了,我們可以用樣式把間距去掉,比如用margin/word-spacing/letter-spacing等:<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body=><span>hello</span><span style="margin-left: -5px;">world</span><div style="word-spacing: -40px;"><span>hello</span><span>world</span></div> </body> </html> ??效果是下面這樣的:

    ??可以看到這樣也能消除間距,但是如果使用margin,不能保證在任何情況下兩個單詞都恰好沒有間距。而自己在chrome中測試發現,word-spacing的負值足夠大的情況下,不會將兩個單詞重疊,只會緊緊貼住。所以設置一個負值較大的word-spacing看起來是一個比較好的方法,但是不清楚在其他瀏覽器中是否和chrome保持一致。
  • 通過設置font-size消除間距
    ??這種方法是我平時喜歡用的,既然空格占了位置,那么我們把font-size設置為0,空格就不會占位置了,同時再單獨設置子元素的字體大小,就能干掉這個間隙了。<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body><div style="font-size: 0;"><span style="font-size: 20px;">hello</span><span style="font-size: 20px">world</span></div> </body> </html> ??他的效果是這樣的:

五、結語

??總的來說,肯定有很多方法可以去掉這個空隙,但是最普遍的集中方法就是這幾種了。同時,只要我們知道了這個空隙為何而來,我們就能對癥下藥,找到解決問題的辦法。

總結

以上是生活随笔為你收集整理的span标签的间距问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。