当前位置: 首页 > 知识库问答 >
问题:

Flaticon,将::before元素定位

储承
2023-03-14

我在用flaticon创建的字体

我的问题是我不能将图标垂直放置在div中

我试过所有的东西,垂直-对齐:中间,改变位置:绝对/相对,边距,填充,线-高度=div的高度,所有的东西!

@font-face {
    font-family: "Flaticon";
    src: url("font/flaticon.eot");
    src: url("font/flaticon.eot#iefix") format("embedded-opentype"),
    url("font/flaticon.woff") format("woff"),
    url("font/flaticon.ttf") format("truetype"),
    url("font/flaticon.svg") format("svg");
    font-weight: normal;
    font-style: normal;
}
[class^="flaticon-"]:before, [class*=" flaticon-"]:before,
[class^="flaticon-"]:after, [class*=" flaticon-"]:after {   
    font-family: Flaticon;
font-style: normal;
}

.flaticon-synchronization1:before {
    content: "\e01e";
}
    body{
        background-color: gray;
    }

    #btnTest{
        width: 100px;
        height: 100px;
        border: 1px solid blue;
        text-align: center;
    }

    #btnTest > span{

        border: 1px solid red;

    }

    #btnTest > span::before{

        font-size: 30px;
        color: white;
        border: 1px solid yellow;

    }
<div id="btnTest"><span class="flaticon-synchronization1"></span></div>
    #btnTest{
        width: 100px;
        height: 100px;
        display: table;
    }

    #btnTest > span{

        display: table-cell;
        vertical-align: middle;

    }

    #btnTest > span::before{

        font-size: 30px;
        color: white;
        border: 1px solid yellow;

    }

共有1个答案

陆安国
2023-03-14

在这种情况下,您可以使用line-height,如下所示:

#btnTest > span::before{
   line-height:100px; // Equal the height of the parent
}

现在,如果你不知道父母的身高,试试这个:

#btnTest > span::after {
  content: " ";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
 类似资料:
  • 问题内容: 我正在尝试为HTML5中的提出一些好的默认样式,并尝试了以下方法: las,内容从不显示。对于伪元素,双冒号和单冒号都不是问题。我都尝试过。拥有一个伪元素和一个伪类也不是问题。我已经尝试过不使用和了。在Chrome,Safari和Firefox中,我得到了相同的行为(Firefox没有和类,但是我尝试了不使用它们。) 在伪元素工作细,,,和元素-其中一些是块元件和一些是内联。 因此,我

  • 问题内容: 我正在尝试使用选择器将图像放置在另一个图像上,但是我发现将图像放置在一个元素之前(仅在其他某个元素之前)根本不起作用。具体来说,我的风格是: 我发现这很好用: 但这不是: 我可以使用或元素代替它,浏览器可以将我的图像正确地覆盖在该元素中的图像上,但是如果我将overlay类应用于自身,则无法正常工作。 我希望这项工作能够正常进行,因为这会让我感到不舒服,但更重要的是,我有大约100个我

  • 假设我有以下列表: 我想通过它并选择元素,使得前后的元素大于1,结果应该是: 我试着做了,但这给出了所有大于1的元素,即:。注意第0个元素,因为前面没有元素,所以我们应该只看第1个元素。

  • 问题内容: 同一元素是否可以有多个伪元素? 我正在尝试使用jQuery将上述样式应用于相同的元素,但仅应用了最新样式,从未应用过这两种样式。 问题答案: 在CSS2.1中,一个元素在任何时候最多只能具有任何一种伪元素。(这意味着一个元素可以同时具有a 和一个伪元素- 每种元素不能超过一个。) 结果,当您有多个匹配同一元素的规则时,它们将全部层叠并应用于单个伪元素,就像普通元素一样。在您的示例中,最

  • 问题内容: 有什么原因导致此CSS无法正常工作? ..在这个HTML上? 这个想法是在匹配的锚标签上有一个伪元素。但是我不希望它适用于包装图像的锚标签。而且由于我无法使用诸如来定位锚,所以我想也许可以通过找到一个与之类似的图像来定位:after伪元素。 任何见识将不胜感激。 问题答案: 您无法定位:之后,因为它的内容未在DOM中呈现且无法对其进行操作-为此,必须重新呈现DOM,而CSS不能像这样进

  • 此问题是线程下的扩展。有没有一种方法可以将SVG用作伪元素:before或:after中的内容。 我试图使用伪类在div之后附加一个svg三角形。 上面的代码在chrome中运行良好,但在IE中它没有加载svg内容。 我也尝试了背景图像属性,但它似乎在IE(版本 将此svg附加为带有伪类的内容的正确方法是什么?