关于列数的问题

来源:6-7 留下您宝贵的意见 - 使用<textarea>标签创建文本域

慕哥9462224

2018-01-13 23:59

cols="10"这10列中,是一行可以写十个数字或着是字母吗?我试了,写数字或者是字母可以不止写十个!

写回答 关注

3回答

  • ZE明
    2018-01-14 00:23:27

    cols的值和最终呈现的宽度有没有什么比如的关系或者公式呢?

    在simsun字体,也就是宋体下,我们可以很容易得看出之间的关系为:

    Chrome: 8px * cols + 17px

    IE: 8px * cols + 17px

    FireFox: 8px * cols + 29px

    由于CSS,HTML这些东西是老外发明的,因此,cols每个单位相对的宽度是相对于英文字符而言的,在宋体下,可以认为是8px,后面的17px其实很好理解,表示滚动条的宽度。在window系统下,默认,所有浏览器的滚动条所占据的宽度都是17像素。所以,对于Chrome和IE浏览器而言,文本域最终的宽度(padding和border尺寸暂不考虑)就是单字符宽度*cols值+滚动条宽度。然而,FireFox浏览器下,增加的宽度是29px,这个不就搞不清楚问什么是29px了。

    在IE浏览器下,如果<textarea>的overflow属性值为hidden, 则没有后面增加的17px,而其他浏览器没有此现象。

    然后,当我们使用其他字体的时候,最终的宽度表现则比较微妙了。因此,单个cols对应的单位就不是整数了,可能是8.1px也有可能是7.7px~7.8px这样子的。

    网上找来的,希望对你有帮助,自己也不太清楚。。。

  • Java低级工程师
    2018-01-14 00:08:58

    不是的,cols="10"表示的是10列,rows="10"表示的是10行。数字或者字母写的多少和这个是没有关系的,这个在后面会有的

  • 慕无忌6494268
    2018-01-14 00:05:18

    cols和rows是宽高的字符数量度量限定,只能输出大小不能影响输入的字符数

初识HTML(5)+CSS(3)-升级版

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

1225813 学习 · 18234 问题

查看课程

相似问题