精华内容
下载资源
问答
  • 2021-06-09 11:01:16

    问题形容

    昨天开发中遇到一个小问题,就是间断输出许多数字发现不换行,会始终横向超出盒子的宽度。然而如果是输出间断汉字就会主动换行。起初试了试间断输出英文也是不会主动换行。起初通过一番钻研将细节总结一下:

    间断中文会主动换行(两头无空格)

    间断英文不会主动换行(两头无空格)

    间断数字不会主动换行(两头无空格)

    代码如下

    Document

    div {

    width: 200px;

    height: 200px;

    background-color: #cde;

    /* 默认换行规定就是normal模式,写不写一个样 */

    word-break:normal;

    }

    代码代码代码代码代码代码代码
    wwwwwwwwwwwwwwwwwwww
    6666666666666666666666666

    效果图如下

    解决方案

    通过css规定 word-break: break-all; 管制即可

    代码如下

    Document

    div {

    width: 200px;

    height: 200px;

    background-color: #cde;

    /* 默认换行规定就是normal模式,写不写一个样 */

    word-break:normal;

    /* 解决方案,加上这个 */

    word-break: break-all;

    }

    代码代码代码代码代码代码代码
    wwwwwwwwwwwwwwwwwwww
    6666666666666666666666666

    效果图如下

    总结

    程序员其实就是记住前人设定的规定,并应用前人设定的规定。具体为什么会这样,全当做规定定义的吧。同样的问题:为什么在中国开车默认靠右行驶?规定定义啊。至于规定为啥要这样定义,就要钻研一下历史了…

    更多相关内容
  • 如何使绘制的文本能自动换行呢?【分析】drawString无法实现自动换行,但可以实现文本绘制的定位。因此可考虑,将文本拆分为多子串,再对子串进行绘制。拆分的策略如下:1 遇到换行符,进行拆分;2 当字符串长度...

    【问题描述】

    JavaMe Graphics类中的drawString不支持文本换行,这样绘制比较长的字符串时,文本被绘制在同一行,超过屏幕部分的字符串被截断了。如何使绘制的文本能自动换行呢?

    【分析】

    drawString无法实现自动换行,但可以实现文本绘制的定位。因此可考虑,将文本拆分为多个子串,再对子串进行绘制。拆分的策略如下:

    1 遇到换行符,进行拆分;

    2 当字符串长度大于设定的长度(一般为屏幕的宽度),进行拆分。

    【步骤】

    1 定义一个String和String []对象;

    private String info;

    private String info_wrap[];

    2 实现字符串自动换行拆分函数

    StringDealMethod.java

    package com.token.util;

    import java.util.Vector;

    import javax.microedition.lcdui.Font;

    public class StringDealMethod {

    public StringDealMethod()

    {

    }

    // 字符串切割,实现字符串自动换行

    public static String[] format(String text, int maxWidth, Font ft) {

    String[] result = null;

    Vector tempR = new Vector();

    int lines = 0;

    int len = text.length();

    int index0 = 0;

    int index1 = 0;

    boolean wrap;

    while (true) {

    int widthes = 0;

    wrap = false;

    for (index0 = index1; index1 < len; index1++) {

    if (text.charAt(index1) == '\n') {

    index1++;

    wrap = true;

    break;

    }

    widthes = ft.charWidth(text.charAt(index1)) + widthes;

    if (widthes > maxWidth) {

    break;

    }

    }

    lines++;

    if (wrap) {

    tempR.addElement(text.substring(index0, index1 - 1));

    } else {

    tempR.addElement(text.substring(index0, index1));

    }

    if (index1 >= len) {

    break;

    }

    }

    result = new String[lines];

    tempR.copyInto(result);

    return result;

    }

    public static String[] split(String original, String separator) {

    Vector nodes = new Vector();

    //System.out.println("split start...................");

    //Parse nodes into vector

    int index = original.indexOf(separator);

    while(index>=0) {

    nodes.addElement( original.substring(0, index) );

    original = original.substring(index+separator.length());

    index = original.indexOf(separator);

    }

    // Get the last node

    nodes.addElement( original );

    // Create splitted string array

    String[] result = new String[ nodes.size() ];

    if( nodes.size()>0 ) {

    for(int loop=0; loop

    {

    result[loop] = (String)nodes.elementAt(loop);

    //System.out.println(result[loop]);

    }

    }

    return result;

    }

    }

    3 调用拆分函数,实现字符串的拆分

    int width = getWidth();

    Font ft = Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE);

    info = "欢迎使用!\n"

    +"1 MVC测试;\n"

    +"2 自动换行测试,绘制可自动识别换行的字符串。\n";

    info_wrap = StringDealMethod.format(info, width-10, ft);

    4 绘制字符串

    int width = getWidth();

    Font ft = Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE);

    info = "欢迎使用!\n"

    +"1 MVC测试;\n"

    +"2 自动换行测试,绘制可自动识别换行的字符串。\n";

    info_wrap = StringDealMethod.format(info, width-10, ft);

    绘制的效果如图1所示:

    1a447352bb187910cf4932e4279a4a0e.png

    展开全文
  • CSS让英文单词的自动换行在制作网页过程中,css样式编写中,可能会遇到文字换行的问题,其中英文换行可能会困扰着很多初学者,而今天我就这问题进行相应的阐述,学过css的朋友应该都知道,控制文字是否换行可以...

    CSS让英文单词的自动换行

    在制作网页过程中,css样式编写中,可能会遇到文字换行的问题,其中英文换行可能会困扰着很多初学者,而今天我就这个问题进行相应的阐述,学过css的朋友应该都知道,控制文字是否换行可以直接使用css中的word-break来进行调整,但是对于英文来说,我们要让其能满足所有浏览器的需要,仅仅这一个属性是不够的。

    根据我个人所了解的一些资料显示,英文过多,过长,不仅仅影响到表格,还影响到了p,有可能会撑破表格和p,对于表格和p的解决方法各有不同,首先我们来看在表格中改如何解决这个问题。

    如果你使用的是表格布局,表格内的内容多以英文为主,而且英文不会换行,那么你只需要在css中加入如下代码即可

    table {

    table-layout: fixed; word-break:break-all;

    word-wrap:break-word;

    }

    如果你使用的p+css布局,那么遇到p中的文字被英文撑破时,可以在css中加入如下代码

    p{

    word-break:break-all;

    word-wrap:break-word;

    }

    根据 CSS2中文手册

    word-break版本:IE5+专有属性 继承性:有

    语法:

    word-break : normal | break-all | keep-all

    取值:

    normal:默认值,允许在词间换行

    break-all:该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本

    keep-all:与所有非亚洲语言的 normal 相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本

    说明:

    设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。

    对于中文,应该使用 break-all 。

    此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

    对应的脚本特性为 wordBreak 。

    示例:

    p {word-break : break-all; }

    应用于:

    IE5.0+

    word-wrap版本:IE5.5+专有属性 继承性:有

    语法:

    word-wrap : normal | break-word

    取值:

    normal : 默认值。允许内容顶开指定的容器边界

    break-word : 内容将在边界内换行。如果需要,词内换行( word-break )也将发生

    说明:

    设置或检索当当前行超过指定容器的边界时是否断开转行。

    此属性仅作用于有布局的对象,如块对象。内联要素要使用该属性,必须先设定对象的 height 或 width 属性,或者设定 position 属性为 absolute ,或者设定 display 属性为 block 。

    此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

    对应的脚本特性为 wordWrap 。

    示例:

    p { word-wrap: break-word; word-break: break-all; }

    注意这个

    break-word : 内容将在边界内换行。如果需要,词内换行( word-break )也将发生

    所以 word-wrap够用了,默认会不拆开单词换行,但是如果真有一个非常长的单词,比如上次某发错了版的史上最恐怖的12个英文单词,它也是会拆行的,这样避免了表格被撑坏。

    不过这个没有被w3c作为css2的标准,所以Mozilla 不支持这个属性,如果大家都好好写英文单词就没事情,Firefox也是不拆开单词换行的,如果碰到有人写很长的单词,Mozilla Firefox就不会换行一直撑破了。

    展开全文
  • Android开发中,很多人会遇到满行就自动换到下一行的界面需求,而Android...这里给大家分享一个可以实现自动换行的LinearLayout。import java.util.Hashtable;import android.content.Context;import android.uti...

    Android开发中,很多人会遇到满行就自动换到下一行的界面需求,而Android自带的LinearLayout布局自能横排或者竖排,不够显示就加ScrollView,横竖混排就不行了。这里给大家分享一个可以实现自动换行的LinearLayout。

    import java.util.Hashtable;

    import android.content.Context;

    import android.util.AttributeSet;

    import android.util.Log;

    import android.view.View;

    import android.widget.LinearLayout;

    /**

    * 自动换行的LinearLayout

    * @author idengpan

    *

    */

    @SuppressWarnings({ “unchecked”,”rawtypes” })

    public class AutoNextLineLinearlayout extends LinearLayout {

    int mLeft, mRight, mTop, mBottom;

    Hashtable map = new Hashtable();

    public AutoNextLineLinearlayout(Context context) {

    super(context);

    }

    public AutoNextLineLinearlayout(Context context, int horizontalSpacing, int verticalSpacing) {

    super(context);

    }

    public AutoNextLineLinearlayout(Context context, AttributeSet attrs) {

    super(context, attrs);

    }

    @Override

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int mWidth = MeasureSpec.getSize(widthMeasureSpec);

    int mCount = getChildCount();

    int mX = 0;

    int mY = 0;

    mLeft = 0;

    mRight = 0;

    mTop = 5;

    mBottom = 0;

    int j = 0;

    View lastview = null;

    for (int i = 0; i < mCount; i++) {

    final View child = getChildAt(i);

    child.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);

    // 此处增加onlayout中的换行判断,用于计算所需的高度

    int childw = child.getMeasuredWidth();

    int childh = child.getMeasuredHeight();

    mX += childw; // 将每次子控件宽度进行统计叠加,如果大于设定的高度则需要换行,高度即Top坐标也需重新设置

    Position position = new Position();

    mLeft = getPosition(i – j, i);

    mRight = mLeft + child.getMeasuredWidth();

    if (mX >= mWidth) {

    mX = childw;

    mY += childh;

    j = i;

    mLeft = 0;

    mRight = mLeft + child.getMeasuredWidth();

    mTop = mY + 5;

    // PS:如果发现高度还是有问题就得自己再细调了

    }

    mBottom = mTop + child.getMeasuredHeight();

    mY = mTop; // 每次的高度必须记录 否则控件会叠加到一起

    position.left = mLeft;

    position.top = mTop + 3;

    position.right = mRight;

    position.bottom = mBottom;

    map.put(child, position);

    }

    setMeasuredDimension(mWidth, mBottom);

    }

    @Override

    protected LayoutParams generateDefaultLayoutParams() {

    return new LayoutParams(0, 0); // default of 1px spacing

    }

    @Override

    protected void onLayout(boolean changed, int l, int t, int r, int b) {

    int count = getChildCount();

    for (int i = 0; i < count; i++) {

    View child = getChildAt(i);

    Position pos = (Position) map.get(child);

    if (pos != null) {

    child.layout(pos.left, pos.top, pos.right, pos.bottom);

    } else {

    Log.i(“MyLayout”, “error”);

    }

    }

    }

    private class Position {

    int left, top, right, bottom;

    }

    public int getPosition(int IndexInRow, int childIndex) {

    if (IndexInRow > 0) {

    return getPosition(IndexInRow – 1, childIndex – 1) + getChildAt(childIndex – 1).getMeasuredWidth() + 8;

    }

    return getPaddingLeft();

    }

    }

    用法和普通的LinearLayout类似,在XML布局文件中写入这个自定义类的完整路径,将android:orientation属性指定为horizontal(默认)即可。

    展开全文
  • winformlabel自动换行

    千次阅读 2019-08-30 20:48:09
    首先是label的自动换行 WinForm 很多朋友都会在开发WinForm中遇到Label要...这样的好处是会因内容的长度而自动换行,但是当内容的长度超过所设定的大小时,多出的内容就会无法显示.因此,这种方法适合于基本确定内容...
  • 如何使绘制的文本能自动换行呢?【分析】drawString无法实现自动换行,但可以实现文本绘制的定位。因此可考虑,将文本拆分为多子串,再对子串进行绘制。拆分的策略如下:1 遇到换行符,进行拆分;2 当字符串长度...
  • 前言 最近公司项目有标签集功能 用户通过标签筛选 生成系列操作 实现漏斗筛选 并最终推荐药品 废话不多说 看下是不是想要的效果 ... * 自动换行的LinearLayout */ public class AutoNextLineLinearLayout ex
  • 看我内容里面,有个bbbbbbb 使用word-break的时候是强制切断的,所以遇到换行的时候他看上去就不像是一个完整的单词,而是上面有一些,下面又有一些。这样不好 所以改用word-wrap:break-word; <!DOCTYPE HTML>...
  • 因为图文混编以及不同字体格式的显示,在iOS进行编辑和显示都是一大问题(当然,iOS中也可以用CoreText进行绘制),但是对于web端来说,一个富文本编辑器就可以完美解决这个问题...
  • HTML的table表格标签的换行问题

    千次阅读 2021-06-10 12:02:29
    我们在做web页面的时候,有可能会用到table,这个页面主要是供手机端调用查看列表的,但是我们在使用的...下面是一个比较标准的table代码写法:XML/HTML Code复制内容到剪贴板MonthDateAUG18简单的HTML表格由table元...
  • 遇到一长串字母撑出了td宽度,导致整个表格错乱,如图: , 解决办法: 第: table 加上css:table-layout:fixed;(此css属性 表示 列宽由表格宽度和列宽度设定。不会因为内容而改变设定的宽高,而是会自适应...
  • CSS 段落/换行/缩进

    2021-06-09 16:40:41
    CSS 段落/换行/缩进1.盒模型box-sizing: content-box|border-box|inherit;content-box(默认) :实际宽度/高度 = width/height(元素内容大小) + padding + borderborder-box: width/height = 元素内容大小 + padding...
  • 很多朋友都会在开发WinForm中...这样的好处是会因内容的长度而自动换行,但是当内容的长度超过所设定的大小时,多出的内容就会无法显示.因此,这种方法适合于基本确定内容长度的时候使用。 第二种是把Label的Dock设...
  • 如何处理长的单词和链接(强制换行,连接符,省略号等)我们在前端开发中经常会遇到一些很长的文本串从它的容器中溢出,例如:通过这样段css可以有效解决这种问题:.dont-break-out {/* 这两在技术上是一样的, 为了...
  • 效果:这样我们的设定的width就无效了,原因是因为:浏览器在解析我们页面的时候,给这一串1当成一个单词了,这样就不会自动切断字符串而进行换行。解决方案:效果:word-wrap:break-word; 和word-break:break-all ...
  • Android开发之自动换行LinearLayout

    千次阅读 2015-01-24 11:18:26
    Android开发中,很多人会遇到满行就自动换到下一行的界面需求,而Android自带的LinearLayout布局自能横排或者竖排,不够显示就加ScrollView,横竖混排就不行了。这里给大家分享一个可以实现自动换行的LinearLayout。
  • 对于网页设计的新手而言,在接触段时间的HTML/CSS后,一定会遇到这样的问题:对于已经定义了宽度的容器(如DIV,TD,段落等)如果里面出现了较长的英文或数字,则内容不能自动换行然后会将框架撑出设定的宽度。...
  • itextpdf生成pdf问题汇总

    千次阅读 2021-01-15 09:10:52
    1、使用Flying-Saucer虽然可以支持css...表格显示不全,竟然是因为从word转换的表格的一行中的最后一个单元格有宽度,把最后一个单元格的宽度删掉,然后在样式中加上下面的代码,就奇迹般的自动换行了。table{bord...
  • 这次马驴要说一个『为知笔记』中常常遇见,很有必要解决的问题,那就是过长的网址怎样自动换行的问题。——问题回顾——为知笔记有个奇怪的设定,那就是长网址不提供自动换行的功能,必须一行写完,除非遇到斜杠之类...
  • 因为图文混编以及不同字体格式的显示,在iOS进行编辑 和显示都是一大问题(当然,iOS中也可以用CoreText进行绘制),但是对于web端来说,一个富文本编辑器就可以完美解决这个问题。所以后台很多 时候会直接返回HTML...
  • 假设设定单行的最大长度为maxWidth,那么就通过measureText来测量每一个字的长度,然后不断的累加再去对比maxWidth,如果比maxWidth大,那就追加一个换行符号,然后再把累加长度归零,继续开始...
  • (1)overflow: hiddenoverflow 属性规定当内容溢出元素框时发生的事情。这属性定义溢出元素内容区的内容会如何处理。...nowrap 表示文本不会换行,文本会在在同行上继续,直到遇到 标签为止。(3)t...
  • 当字段显示的数据太多,自动换行的话,需要设置属性Stretch with overflow 为钩选,如果需要同行的其他显示字段和该换行字段一样高的话,设置其它同行显示字段的属性Stretch Type为 Relative to band height;...
  • Java 导出 Pdf 格式表单

    千次阅读 2021-01-15 09:10:52
    前言作为开发人员,工作中难免会遇到复杂表单的导出,接下来介绍种通过Java利用模板便捷导出Pdf表单的方式模拟需求需求:按照下面格式导出pdf格式的学生成绩单准备工作Excel软件Adobe Acrobat XI Pro软件模板制作...
  • CSS 网页内容换行控制

    2021-08-05 01:23:15
    CSS 网页内容换行控制发布时间:2009-06-14 23:57:24 作者:佚名 我要评论在进行DivCSS布局时,需要对文本进行控制,我们在jb51.net以前的文章中,也讲过这方面的知识,今天系统的向大家介绍一下。CSS中控制换行的四...
  • 自动换行显示

    2013-11-05 16:50:19
    遇到的问题:  在块级元素中,已经设定了固定的宽度和高度,但由于该... 需要的效果是:系统自动根据设定的宽度判断,如果内容超出,则进行换行显示。 解决方法: word-break:break-all; word-wrap:break-word;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,056
精华内容 6,022
关键字:

设定遇到一个字自动换行