<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 TransitionalEN"":w3./TR/4/loose.dtd"><><head><meta -equiv="Content-Type" content="text/charset=utf-8"><title>景安网路</title><style type=text/css>span{ display:block}</style></head><body><span>景安</span><span>景安网路</span><span>景安网路</span></body></>使用display:block将span转成块级元素即可
火狐浏览器下,CSS如何控制强制换行
比如,指定宽度为200px换行程式码:
overflow: visible
width:200px
word-wrap:break-word
white-space:-moz-pre-wrap
针对IE7的强制换行程式码:
word-wrap:break-word
针对火狐的强制换行程式码:
white-space:-moz-pre-wrap
怎样让css控制文字禁止换行/强制不换行?
<style type=text/css>
div{width:300pxborder:1px solid redmargin:10pxoverflow:hidden}
.nowrap{white-space:nowrap}
</style>
<div class="nowrap">这是一段很长的文字,中间没有空格,也没有换行,它不会自动换行直到被撷取掉</div>
<div>这是一段很长的文字,中间没有空格,也没有换行,但它会自动换行</div>
上面两个div里超宽的文字,第一个里面的被禁止换行,然后超宽的被截取了;第二个不做设定,于是自动换行了。
CSS样式怎么控制文字强制换行
css文字强制换行的方法,用word-wrap属性
在预设情况下,如果文字的内容超过某个div块的宽度的话,就会发生自动换行,因为div块的white-space属性的预设值是normal。但是也有两种情况:
1、如果div块里是一串的文字内容,那么到了div块的width限制时,会自动换行。
2、如果div块里一串没有空格的字母或者数字的时候是那就不换行了,而是直接溢位div块。这时就要考虑css文字强制换行了。
那CSS样式怎么控制文字的强制换行?
这时候我们需要用到word-wrap属性,还有一个属性word-break也能够解决换行问题,但是它的浏览器相容性不好,并且还有可能导致其他问题,所以这里不建议使用。
word-wrap的break-word属性值可以导致换行,一般说来如果一个单词比较长的话,行末的空间不足以容纳这个单词就会产生换行,而不是将一个单词截断,word-break的break-all属性值可以截断一个单词
<style type=text/css> .first{width:120px height:60px border:1px solid blue word-wrap:break-word}.second{width:120px height:60px border:1px solid red word-break:break-all }
CSS样式怎么控制文字强制换行 详细??
块的white-space 属性的预设值是normal。但是也有两种情况:
1、如果div 块里是一串的文字内容,那么到了div 块的width 限制时,会自动换行。
2、如果div 块里一串没有空格的字母或者数字的时候是那就不换行了,而是直接溢位
div 块。这时就要考虑css 文字强制换行了。
这时候我们需要用到word-wrap 属性,还有一个属性word-break 也能够解决换行问
题,但是它的浏览器相容性不好,并且还有可能导致其他问题,所以这里不建议使用。
word-wrap 的break-word 属性值可以导致换行,一般说来如果一个单词比较长的话,
行末的空间不足以容纳这个单词就会产生换行,而不是将一个单词截断,word-break 的
break-all 属性值可以截断一个单词。
如何控制ListView的换行
listView1.LabelWrap = true把自动换行的属性设定为TRUE就好了。
当 LabelWrap 属性设定为 true 时,如果需要,项文字会换至文字的下一行。如果文字长于两行,则文字将缩短。如果使用者选择了该项,则显示所有项文字。如果 LabelWrap 属性设定为 false,则所有项文字都将显示在单独一行中。整个项文字在 LabelWrap 设定为 false 时显示。只有在 View 属性设定为 LargeIcon 或 SmallIcon 时才使用该属性。
建议楼主用dataGridView 可自动换行。
CSS强制不换行,居中?
让div居中,body的text-align得是center
div设定好宽度,然后white-space:nowrapoverflow:hidden
如何控制richTextBox来换行?
richTextBox.text+="显示的文字"+"\n"
div如何使内容强制不换行,用CSS实现!
你好,不使用浮动,使用inline-block就可以处理了:
<div > <div >1</div> <div >2</div> <div >3</div> <div >4</div> <div >5</div></div>
如果要考虑IE6/7,display:inline-block的元素需加上:
*display: inline*zoom: 1
希望是你想要的结果,望采纳~~
label控制元件中怎么控制文字强制换行
第一种是把Label的AutoSize属性设为False,手动修改Label的大小.这样的好处是会因内容的长度而自动换行,但是当内容的长度超过所设定的大小时,多出的内容就会无法显示.因此,这种方法适合于基本确定内容长度的时候使用.
第二种是把Label的Dock设为FILL,同时将AutoSize属性设为False,这种方法可将上面所说的缺点修正,但是同时Label会将其它控制元件的位置霸占,影响布局.因此,在使用该方法时,最好给Label加上个Panel或GroupBox控制元件.
第三种是通过判断内容的长度,动态设定Label的大小.具体程式如下(Label控制元件取名为Label1,显示内容的字串为str):
int LblNum = str.LengthLabel内容长度
int RowNum = 10每行显示的字数
float FontWidth = label1.Width / label1.Text.Length每个字元的宽度
int RowHeight=15每行的高度
int ColNum = (LblNum - (LblNum / RowNum) * RowNum) == 0 ? (LblNum / RowNum) : (LblNum / RowNum) + 1列数
label1.AutoSize = false设定AutoSize
label1.Width = (int)(FontWidth * 10.0)设定显示宽度
label1.Height = RowHeight * ColNum设定显示高度
通过这种方法可以令Label每行所显示的字数得到控制,同时也动态的生成的所对应的行数,这对于排版有很大的好处,但是如果显示内容过多,该方法也会令多出来的内容无法显示.因此,对于显示内容过长的时候,可以在外层加上Panel或GroupBox,设定AutoScroll为true,这样就不会因为太长而导致Label高度扩大而影响其它控制元件的布局,同时也可以更好地显示完整的内容。
CSS强制换行/自动换行/强制不换行
一般情况下,在<div>或者<p>等盒子模型内,元素默认都会换行,默认样式:white-space:normal,但也不排除特殊情况,比如测试人员,他们的习惯都很特别,于是我们就需要设置强制换行样式。
强制换行:
word-break:break-all/*支持IE,chrome,FF不支持*/
word-wrap:break-word/*支持IE,chrome,FF*/
自动换行:
word-wrap: break-word
word-break: normal
强制不换行:
white-space:nowrap
CSS设置不转行:
overflow:hidden 隐藏
white-space:normal 默认
pre 换行和其他空白字符都将受到保护
nowrap 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象
设置强行换行
word-break:
normal 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all : 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all : 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本与之间的高度解决办法
英文不换行
CSS里加上 word-break: break-all问题解决。这个问题只有IE才有,在FF下测试,FF可以自己加滚动条,这样也不影响效果
建议大家做Skin时,记得在body里加 word-break: break-all这样可以解决IE的框架被英文撑开的问题
以下引用word-break的说明, 注意word-break 是IE5+专有属性
语法:
word-break : normal | break-all | keep-all
参数:
normal : 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all : 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all : 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本
说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。
对于中文,应该使用break-all 。
对应的脚本特性为wordBreak。请参阅我编写的其他书目。
示例:
div {word-break : break-all}
由于前段时间项目中使用到了自动换行的线性布局,本来打算用表格布局在里面一个个的用Java代码添加ImageView的,但是添加的View控件是不确定的,因为得靠服务器的数据返回,就这样手动用Java代码画布局的方式就这样夭折了,因为在表哥布局中我无法确定一行显示多少个ImageView的数目,所以无法动态添加,最后自能自己去看看那种能够换行的线性布局了,线性布局比较不好的是不能自动换行,也就是当设置LinearLayout的orentation 设置为vertical 为竖直方向也就是只有一列,每行只能显示一个View或者View的子类,当设置LinearLayout的orentitation为Horizontal,LinearLayout的只能显示为一行,横向显示,当屏幕满了的时候,View控件并不会自动换行,所以我们要做的就是在LinearLayout满的时候自动换行。需要了解的是怎么样绘制根据子控件的长宽绘制父控件的宽度与高度,所以需要传入的参数控件的高度,视图分为两种一种是View类型的,代表控件有TextView,Button,EditText 等等,还有一种是装视图的容器控件继承自ViewGroup的控件,如LinearLayout,RelativeLayout,TabHost等等控件,需要自动换行的线性布局的话,就需要根据子控件的高度与宽度,来动态加载父控件的高度与宽度,所以需要在构造函数中传入每一个子控件的固定的高度,或者是动态设置子控件的高度与宽度。将自定义的LinearLayout 也继承自ViewGroup 并且重写抽象类ViewGrouop的几个方法:onMeasure(),onLayout(),dispathDraw() 三个方法的意思分别是:第一个onMeasure()是用来计算控件以及子控件所占用的区域,第二个onLayout()是控制子控件的换行,第三个可写可不写,主要是用来绘制控件的边框,自定义LinearLayout的代码如下:[java] view plaincopyprint?package com.huanglong.mylinearlayout import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Rect import android.util.AttributeSet import android.view.View import android.view.ViewGroup /** * @author huanglong 2013-5-28 自定义自动换行LinearLayout */ public class FixGridLayout extends ViewGroup { private int mCellWidth private int mCellHeight public FixGridLayout(Context context) { super(context) }public FixGridLayout(Context context, AttributeSet attrs) { super(context, attrs) }public FixGridLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle) }public void setmCellWidth(int w) { mCellWidth = w requestLayout() }public void setmCellHeight(int h) { mCellHeight = h requestLayout() }/** * 控制子控件的换行 */ @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int cellWidth = mCellWidth int cellHeight = mCellHeight int columns = (r - l) / cellWidth if (columns <0) { columns = 1 } int x = 0 int y = 0 int i = 0 int count = getChildCount() for (int j = 0j <countj++) { final View childView = getChildAt(j) // 获取子控件Child的宽高 int w = childView.getMeasuredWidth() int h = childView.getMeasuredHeight() // 计算子控件的顶点坐标 int left = x + ((cellWidth - w) / 2) int top = y + ((cellHeight - h) / 2) // int left = x // int top = y // 布局子控件 childView.layout(left, top, left + w, top + h) if (i >= (columns - 1)) { i = 0 x = 0 y += cellHeight } else { i++ x += cellWidth } } }/** * 计算控件及子控件所占区域 */ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // 创建测量参数 int cellWidthSpec = MeasureSpec.makeMeasureSpec(mCellWidth, MeasureSpec.AT_MOST) int cellHeightSpec = MeasureSpec.makeMeasureSpec(mCellHeight, MeasureSpec.AT_MOST) // 记录ViewGroup中Child的总个数 int count = getChildCount() // 设置子空间Child的宽高 for (int i = 0i <counti++) { View childView = getChildAt(i) /* * 090 This is called to find out how big a view should be. 091 The * parent supplies constraint information in the width and height * parameters. 092 The actual mesurement work of a view is performed * in onMeasure(int, int), 093 called by this method. 094 Therefore, * only onMeasure(int, int) can and must be overriden by subclasses. * 095 */ childView.measure(cellWidthSpec, cellHeightSpec) } // 设置容器控件所占区域大小 // 注意setMeasuredDimension和resolveSize的用法 setMeasuredDimension(resolveSize(mCellWidth * count, widthMeasureSpec), resolveSize(mCellHeight * count, heightMeasureSpec)) // setMeasuredDimension(widthMeasureSpec, heightMeasureSpec) // 不需要调用父类的方法 // super.onMeasure(widthMeasureSpec, heightMeasureSpec) }/** * 为控件添加边框 */ @Override protected void dispatchDraw(Canvas canvas) { // 获取布局控件宽高 int width = getWidth() int height = getHeight() // 创建画笔 Paint mPaint = new Paint() // 设置画笔的各个属性 mPaint.setColor(Color.BLUE) mPaint.setStyle(Paint.Style.STROKE) mPaint.setStrokeWidth(10) mPaint.setAntiAlias(true) // 创建矩形框 Rect mRect = new Rect(0, 0, width, height) // 绘制边框 canvas.drawRect(mRect, mPaint) // 最后必须调用父类的方法 super.dispatchDraw(canvas) }} 然后在Xml文件中引用自己定义的控件,在Java代码中调用:[java] view plaincopyprint?package com.huanglong.mylinearlayout import android.os.Bundle import android.app.Activity import android.view.Menu import android.view.MenuItem import android.widget.CheckBox import android.widget.SimpleAdapter import android.support.v4.app.NavUtils public class MainActivity extends Activity { private SimpleAdapter adapter @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) FixGridLayout fixGridLayout = (FixGridLayout) findViewById(R.id.ll) fixGridLayout.setmCellHeight(30) fixGridLayout.setmCellWidth(100) for (int i = 0i <7i++) { CheckBox box = new CheckBox(MainActivity.this) box.setText("第"+i+"个") fixGridLayout.addView(box) } }@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu) return true } }