我有一长串(DNA序列)。它不包含任何空白字符。

例如:

ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTCGATGTAGCTAGTAGCATGTAGTGA

什么是CSS选择器,迫使这个文本被包装在html:textarea或在xul:文本框?


当前回答

使用CSS方法强制换行没有空格的字符串。三种方法:

1)使用CSS的白色空间属性。为了解决浏览器不一致的问题,您必须以几种方式声明它。所以只要把你的looooong字符串放入一些块级元素(例如,div, pre, p),并给该元素以下css:

some_block_level_tag {
    white-space: pre;           /* CSS 2.0 */
    white-space: pre-wrap;      /* CSS 2.1 */
    white-space: pre-line;      /* CSS 3.0 */
    white-space: -pre-wrap;     /* Opera 4-6 */
    white-space: -o-pre-wrap;   /* Opera 7 */
    white-space: -moz-pre-wrap; /* Mozilla */
    white-space: -hp-pre-wrap;  /* HP Printers */
    word-wrap: break-word;      /* IE 5+ */
}

2)使用Compass中的force-wrap mixin。

3)我也在研究这个问题,我认为可能也有用(但我需要更全面地测试浏览器支持):

.break-me {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

参考资料:包装内容

其他回答

对于块元素:

< textarea风格= "宽度:100 px;自动换行:break-word;" > ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTC textarea > < /

对于内联元素:

<跨风格= "宽度:100 px;自动换行:break-word;显示:inline-block;" > ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTC < / span >

我不认为CSS可以做到这一点。相反,在字符串中按常规的“字长”插入一个HTML软连字符:

ACTGATCG&shy;AGCTGAAG&shy;CGCAGTGC&shy;GATGCTTC&shy;GATGATGC&shy;TGACGATG

这将在行尾的换行处显示一个连字符,这可能是您想要的,也可能不是。

注意与Firefox不同,Safari似乎将长字符串包装在<textarea>中。

我的方法(当没有合适的方法插入特殊字符)通过CSS:

-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;

网址:http://kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/ 还有一些额外的研究。

下面是我使用空白的代码:预换行;

.code {
    width: 90vw;
    white-space: pre-wrap;
    font-family: inherit;
    word-break: break-word;
    overflow-wrap: break-word;
    line-break: auto;
}

我知道带值的看起来很奇怪,你应该把它改成适合你需要的值。

在你想要休息的地方放置零宽度的空间。零宽度空间为&#8203;在HTML中。例如:

ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGC