span标签的间距问题
生活随笔
收集整理的這篇文章主要介紹了
span标签的间距问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、前言
??平時在實現(xiàn)ui的設(shè)計稿的時候會遇見一些小問題,比如莫名其妙的間距,明明沒有加margin和padding,但是就是會出現(xiàn)間距,這就是兩個span標簽的間距問題。我們今天就這個問題進行分析。
二、現(xiàn)象描述
<!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上沒有應(yīng)用任何樣式,但是仍然出現(xiàn)了間距。
??又或者是下面這段代碼;
??他的效果是這樣的:
??我們也可以很明顯的看到,兩個div直接出現(xiàn)了間隙。那么,這個間隙到底是怎么出現(xiàn)的呢?
三、原因
??導(dǎo)致這個現(xiàn)象出現(xiàn)的原因很簡單,我們知道多個空格或者回車瀏覽器都會解析成空格,其實,我們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,沒有添加任何樣式,他們之間也存在間距了吧?
四、解決方案
??既然知道了原因,那這個問題就很好解決了。
- 代碼中不要寫空格:
既然這個問題是空格導(dǎo)致的,那我們不要空格或者回車,這個問題就解決了<!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> ??像上面這種寫法,展現(xiàn)出來的效果就是:
??這樣兩個單詞之間的間距就沒有啦,不過這種寫法會導(dǎo)致我們的代碼不整潔,對于有強迫癥的小伙伴來說是接受不了的,我們可以用其他的方法來解決這個問題。 - 通過css去消除間距
??既然它出現(xiàn)了間距,那我們啥也不管,把它弄掉就行了,我們可以用樣式把間距去掉,比如用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中測試發(fā)現(xiàn),word-spacing的負值足夠大的情況下,不會將兩個單詞重疊,只會緊緊貼住。所以設(shè)置一個負值較大的word-spacing看起來是一個比較好的方法,但是不清楚在其他瀏覽器中是否和chrome保持一致。 - 通過設(shè)置font-size消除間距
??這種方法是我平時喜歡用的,既然空格占了位置,那么我們把font-size設(shè)置為0,空格就不會占位置了,同時再單獨設(shè)置子元素的字體大小,就能干掉這個間隙了。<!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> ??他的效果是這樣的:
五、結(jié)語
??總的來說,肯定有很多方法可以去掉這個空隙,但是最普遍的集中方法就是這幾種了。同時,只要我們知道了這個空隙為何而來,我們就能對癥下藥,找到解決問題的辦法。
總結(jié)
以上是生活随笔為你收集整理的span标签的间距问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2010流行语
- 下一篇: Luogu P3369 【模板】普通平衡