前端问题更新汇总

目录:

  • css问题
    • 如何解决inline-block元素的空白间距
      • 改变HTML结构
      • 改变margin
      • 使用fontsize
      • jquery方法

css问题

—来自小白学习过程中遇到的问题笔记


如何解决inline-block元素的空白间距

如:

html文件

<button type="button">1</button>
<button type="button">2</button>

css文件
button {
            width: 50px;
            height: 40px;
            display: inline-block;
            background-color: #bbbbbb;
            border:none;
        }

样式1
因为两元素换行,div会包含空白,导致1和2两个元素间有间距,大部分浏览器的间距为4px,少部分浏览器的间距为8px。

为了解决这个问题,查阅过几个人的相关说明,学到了以下几种思路

改变HTML结构

1.
<button type="button">1button><button type="button">
2button>
2.
<button type="button">1button
><button type="button">2button>
3.加注释
<button type="button">1button><button type="button">2button>

改变margin

margin正的为远离,负的为靠近
<button type="button">1button>
<button type="button">2button>

css
button + button{
            margin-left:-4px;
        }

使用font-size

<div style="font-size: 0; -webkit-text-size-adjust:none;
;">
    <button type="button">1button>
    <button type="button">2button>
div>
基本上可以解决大部分浏览器下inline-block元素之间的间距

jquery方法

<div class="removeTextNodes">
    <button type="button">1button>
    <button type="button">2button>
div>

<script type="text/javascript">
    $('.removeTextNodes').contents().filter(function () {
        return this.nodeType === 3;
    }).remove();
script>
去除nodeType等于3的子节点(即空白的文本节点),从而使1和2元素的间距消失。

小结:相对于第二种通过改margin的方法和第一种改变书写结构的办法,第三种和第四种方法显得更普遍,适用性更强。

你可能感兴趣的:(前端,前端)