我有一个使用带有标题标记的jQuery mobile构建的页面,如下所示:
<div data-role="header">
<h1>The Magnet Puzzle</h1>
</div>
我在Android和Windows手机中对其进行了测试,并且在两者中都截断了标题文本的最后三个字符,即使标题宽度足以适合整个标题:
我希望它看起来像这样:
为什么会被截断,我该如何修复它以便显示整个标题?
答案 0 :(得分:39)
我认为真正的问题是JqMobile将左右边距设置为30%,只留下标题总宽度的40%。将其更改为10%,并在需要时获得省略号。
.ui-header .ui-title {
margin-right: 10%;
margin-left: 10%;
}
答案 1 :(得分:10)
由于jQuery Mobile的.ui-header .ui-title
CSS被截断,它将overflow
设置为hidden
,white-space
设置为{{} 1}}和nowrap
到text-overflow
。
我不确定是否有更好的方法可以执行此操作,但您可以像这样覆盖jQuery移动CSS:
ellipsis
答案 2 :(得分:1)
将<h1>
包裹在<div>
:
<div data-role="header">
<div><h1>The Magnet Puzzle</h1></div>
</div>
(然后用你喜欢的CSSery将h1居中。)
答案 3 :(得分:1)
我已经尝试了所有建议的解决方案,总是失败。
我可以解决编辑jquery.mobile-1.3.1.min.css。
的问题使用文本编辑器查找功能查找:
margin:.6em 30% .8em;
并评论它:
/* margin:.6em 30% .8em; */
在jquery mobile 1.3.1上完美地为我工作(当然在本地使用)。
答案 4 :(得分:1)
添加您的文件
<style type="text/css">
.ui-header .ui-title {margin: 0 20%}
</style>
更改标题的默认边距。
答案 5 :(得分:0)
这是通过CSS完成的。
text-overflow: ellipsis;
从JqMobile CSS中删除它或用您自己的覆盖它。
答案 6 :(得分:0)
您的viewport
元数据必须符合设备屏幕。添加到<head>
:
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1,
minimum-scale=1, width=device-width, height=device-height,
target-densitydpi=device-dpi" />
此处的所有细节和解释:
答案 7 :(得分:0)
我知道这是一个死路线,但仍然......
只需使用<p style="text-align:center">
代替<h1>
,您就可以了(仅限对话框)。
<div data-role="header">
<p style="text-align:center">The Magnet Puzzle</p>
</div>