• table的宽度,单元格内换行问题


         选择自 chnking 的 Blog

    一.     要想固定table的总的宽度和每列的宽度:

     

    <TABLE id="Table1" style="TABLE-LAYOUT:fixed" border="1">

    或在脚本中:

    this.style.tableLayout = fixed

     

    HTML

    { table-layout : sLayout }

    Scripting

    object.style.tableLayout [ = sLayout ]


    可能的值:

     

    sLayout

    String 设置或获取下面的值:

    auto

    缺省设置. 列宽将设置为不可分割的最大的内容的宽度。

    fixed

    表的宽度和列的宽度固定,不随单元格中内容而改变

    一.     设置了各个列的宽,没有设表的宽:表的宽度等于各个列的宽度的和

    二.     设置了表的宽度,没有设各个列的宽度:各个列的宽度平均分配

    三.     要是都没设置宽度:表的宽度为100%,各个列的宽度平均分配

     

    二.     换行问题

    <td>有个attribute NOWRAP,可以控制每个单元格是否允许换行

     

    <TD nowrap=true>

    或者

    this.noWrap = true

     

    HTML

    <ELEMENT NOWRAP ... >

    Scripting

    object.noWrap [ = bWrap ]

    可能的值:

    bWrap

    Boolean 设置或获取一个下面的值:.

    false

    缺省值. 允许单元格的单词字符回行.

    true

    不允许单元格回行,除非字符中含有”<br>”

     

    Asp.netDataGrid有个问题,它的Column有个属性ItemStyle.Wrap,设计是当这个列的ItemStyle.Wrap属性为true时,单元格允许回行,为false不允许回行,可是当设置了为false时输出到客户端的是这样的:

    <td nowrap=”nowrap”> 

    而不是

    <td nowrap=”true”>

    所以ItemStyle.Wrap属性是没有起作用的,请自己手工在DataGrid1_ItemDataBound事件中将不允许回行的那些单元增加个Attribute nowrap=true

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

    {

    e.Item.Cells[n].Attributes.Add("nowrap"," true ") ;

    }

     

    三.     截断英文单词强行回行

    上面两个方法可以把表格的宽度都固定了,每个单元是否允许回行都可以设定了,现在可能又会碰到一个问题,当允许回行的遇到比较长的英文单词,可能就超出了这个单元格的宽度,要是不把这个单词从中截断强行换行的话,这个单词的超出单元格宽的的部分将不被显示出来。所以需要在单词超出单元格长度的地方把单词强行截断回行。

    可以利用css中的word-break 风格来达到我们的目的:

     

    <TABLE id="Table1" style="TABLE-LAYOUT:fixed;word-break:break-all" border="1">

    或在脚本中:

    this.style. wordBreak = break-all

     

    HTML

    { word-break : sBreak }

    Scripting

    object.style.wordBreak [ = sBreak ]

    可能的值:

    sBreak

    String设置或获取一个下面的值:

    normal

    缺省值. 允许从每个词处回行。

    break-all

    不管在什么位置,超过列宽时就回行。

    keep-all

    不允许 Chinese, Japanese, Korean 回行。这个功能类似与“normal” 的非亚洲语言版本。


  • 相关阅读:
    Failure [INSTALL_FAILED_ALREADY_EXISTS]
    在CentOS 7上构建RAID5、LVM和SAMBAserver(5)——架设SAMBAserver
    adb命令具体解释(二)——手机缺失sqlite3时操作数据库的多种解决方式
    【环境配置】Linux的经常使用命令
    windowsclient开发--使你的client执行时记住上次关闭的大小和位置
    【13】以对象管理资源
    C++ 初始化与赋值
    C++ 变量初始化规则
    C++ 构造和析构
    【20】宁以pass-by-reference-to-const替换pass-by-value
  • 原文地址:https://www.cnblogs.com/huqingyu/p/314522.html
Copyright © 2020-2023  润新知