搜索

首页  >  问答  >  正文

使用与Figma设计中相同的CSS值,产生不同的值

我正在尝试实现Figma 的设计,但注意到它并不总是准确的:

这是我要创建的输入字段:

请注意文本有多薄。这些是来自 Figma 的值:

color: var(--heading-black, #222);
/* Button/16/Regular */
font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 16px;

我也使用相同的颜色和字体粗细,我什至尝试使用 100 而不是 400,但我的结果是:

我的文字更厚,我不知道为什么。这是我的输入字段的 CSS 代码:

.search-field {
    margin-left: 65px;
    width: 429px;
    height: 44px;   
    font-size: 16px;
    font-weight: 400;
    padding-left: 46px;
    background: url("../../../assets/icons/search.png") no-repeat;
    background-color: white;
    background-size: 21px;
    background-position: 14px center;
    border: none;
    border-radius: 4px;
    outline: none;
    color: #222;
}

和 html:

<input type="text" class="search-field" value placeholder="Booking.com, Expedia, Otto...">

我做错了什么?

P粉642919823P粉642919823449 天前558

全部回复(2)我来回复

  • P粉300541798

    P粉3005417982023-09-07 17:54:16

    如果即使更改字体粗细值也得到相同的结果,则意味着您遇到了以下问题之一:

    1. 您的字体没有或尚未导入所需的粗细值(例如:您想要 100,但 @font 字体中包含的最接近的值为 400);
    2. 检查是否没有其他规则不会覆盖它;

    最后一件事,在这种情况下,您想要更改占位符的外观,因此您必须使用伪元素 ::placeholder,这样您就可以仅更改占位符的样式,而不会冒出现其他问题的风险。< /p>

    在代码中,我为占位符提供了较浅的颜色,以模拟结果。

    .search-input{
        box-sizing: border-box;
        background-color: #21A668;
        padding: 10px;
    }
    
    .search-field{
        width: 429px;
        height: 44px;   
        font-size: 16px;
        font-weight: 400;
        padding: 0 10px 0 46px;
        background: url("../../../assets/icons/search.png") no-repeat;
        background-color: white;
        background-size: 21px;
        border: none;
        border-radius: 4px;
        outline: none;
        color: #222;
    }
    
    .search-field::placeholder{
        color: #bdbdbd;
    }
        <div class="search-input">
            <input type="text" class="search-field" value placeholder="Booking.com, Expedia, Otto...">
        </div>

    回复
    0
  • P粉042455250

    P粉0424552502023-09-07 14:35:37

    尝试添加 font-family 属性及其在选择器中的值,并使用我在这里使用的 cdn,因为它嵌入了所有可用的字体粗细。

    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Open+Sans&family=Plus+Jakarta+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
    
    .search-field{font-family: 'Inter', sans-serif;}

    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Open+Sans&family=Plus+Jakarta+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
    
    body{
      background: green;
    }
    
    .search-field {
        margin-left: 65px;
        width: 429px;
        height: 44px;
        font-family: 'Inter', sans-serif;
        font-size: 16px;
        font-weight: 400;
        padding-left: 46px;
        background: url("../../../assets/icons/search.png") no-repeat;
        background-color: white;
        background-size: 21px;
        background-position: 14px center;
        border: none;
        border-radius: 4px;
        outline: none;
        color: #222;
    }
    <input type="text" class="search-field" value placeholder="Booking.com, Expedia, Otto...">

    回复
    0
  • 取消回复