Html 为什么'textarea'和'input'元素的第一个字母不是红色?

Html 为什么'textarea'和'input'元素的第一个字母不是红色?,html,css,Html,Css,Google Chrome 58.0.3029.110(x64)、Firefox 53.0.2(x64)、Linux 为什么textarea元素的第一个字母不是红色 textarea::first-line可以正常工作(在我的谷歌浏览器中,但在Firefox中不行),但是textarea::first-letter在我的示例中不起作用。对于输入元素,我也有类似的行为 如果我使用p而不是textarea或input,这两种情况下我都没有问题 input::第一行, text区域::第一行{ 颜色

Google Chrome 58.0.3029.110(x64)、Firefox 53.0.2(x64)、Linux

为什么
textarea
元素的第一个字母不是红色

textarea::first-line
可以正常工作(在我的谷歌浏览器中,但在Firefox中不行),但是
textarea::first-letter
在我的示例中不起作用。对于
输入
元素,我也有类似的行为

如果我使用
p
而不是
textarea
input
,这两种情况下我都没有问题

input::第一行,
text区域::第一行{
颜色:绿色;
}
输入::第一个字母,
textarea::第一个字母{
颜色:红色;
}
Sfrrr-sdfsdfsd-dsf-ddsfds-fds-fds-fds-fds-fds-fsdfds-fds-fds-dsf-dsf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-dfs-dfs-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf
要使::first-letter伪元素正常工作,您需要将元素的display属性设置为block并使用块级容器:

在CSS中,::first-letter伪元素应用于类似块的容器,如块、列表项、表单元格、表标题和内联块元素

::first-letter伪元素可用于包含文本的所有此类元素,或在包含文本的同一流中具有子元素的所有此类元素

text区域,输入{
显示:块;
}
输入::第一行,
text区域::第一行{
颜色:绿色;
}
第一个字母{
颜色:红色;
}
Sfrrr-sdfsdfsd-dsf-ddsfds-fds-fds-fds-fds-fds-fds-fds-fds-fds-fds-fds-fds-fds-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf-sdf


在Windows 10的Edge上可以正常工作,但在Chrome上不行。已经提到了。这必须回答你的问题。@Al.G。我不确定是不是。该错误表示第一个字符不可选择(即,选择textarea中的所有文本不会选择第一个字符)。这意味着第一个字符的样式不适用。可能重复