标签: ellipsis

用CSS开头的文本省略号?

使用CSS获得此效果很简单:

这是一个很长的段落......

我们只是用text-overflow:ellipsis.

然而相反

......是一段很长的段落.

似乎不太明显.

我已经阅读了这篇全面的文章,解决方案给出的还是不太理想.

这是实现它的CSS

.reverse-ellipsis {
  text-overflow: clip;
  position: relative;
  background-color: white;
}

.reverse-ellipsis:before {
  content: '\02026';
  position: absolute;
  z-index: 1;
  left: -1em;
  background-color: inherit;
  padding-left: 1em;
  margin-left: 0.5em;
}

.reverse-ellipsis span {
  min-width: 100%;
  position: relative;
  display: inline-block;
  float: right;
  overflow: visible;
  background-color: inherit;
  text-indent: 0.5em;
}

.reverse-ellipsis span:before {
  content: '';
  position: absolute;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: inherit;
  z-index: 200;
  left: -.5em;
}
Run Code Online (Sandbox Code Playgroud)

它的主要问题是它的长度以及省略号看起来有点偏差的事实.

有没有人知道一个更短的解决方案,使省略号保持一致?

html css ellipsis css3

11
推荐指数
1
解决办法
2157
查看次数

是否有Delphi IDE中项目选项的省略号按钮的键盘快捷键

在Delphi IDE项目选项有几个选项(如Search Path)每一个省略号按钮(一个上只有三个点右边...的在图像下方),弹出一个对话框.

什么键盘快捷键激活该按钮?

带省略号按钮的项目选项

delphi keyboard-shortcuts ellipsis

11
推荐指数
1
解决办法
527
查看次数

css中的省略号适用于Firefox(16.0.2),但不适用于Chrome(22.0.1229.94)

我有以下html:

<div class="x">
    <div class="y" title="aaaaa">
        <a href="/">
            aaaaa
        </a>
    </div>
    <div class="y" title="bbbbbb">
        <a href="/">
           bbbbbb
        </a>
    </div>
    <div class="y" title="ccccc">
        <a href="/">
            ccccc
        </a>
    </div>
    <div class="y" title="dddddddd">
        <a href="/">
            dddddddd
        </a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

用css:

.x{
    width: 10em;
    background-color: #FFB9B9;
    white-space: nowrap;
    overflow: hidden; 
    text-overflow: ellipsis;
}
.y {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 18px;
    white-space: nowrap;    
    background-color: #E1CECE;
    display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到:http://jsfiddle.net/fDBbm/

省略号从一开始就在Firefox(16.0.2)中工作,但在Chrome(22.0.1229.94)中没有.

css google-chrome ellipsis css3

10
推荐指数
1
解决办法
1108
查看次数

R:使用省略号参数(...)

我想创建一个替换一些默认参数的包装函数.

这是我正在努力解决的问题的核心:

Error in localWindow(xlim, ylim, log, asp, ...) : 
  formal argument "cex" matched by multiple actual arguments
Run Code Online (Sandbox Code Playgroud)

现在有点上下文.假设我为这样的情节定义了一个包装函数:

myplot <- function(x, ... ) {
    plot(x, cex= 1.5, ... )
}
Run Code Online (Sandbox Code Playgroud)

如果我打电话,myplot( 1:10, cex= 2 )我会得到上述错误.我知道我可以转到...清单

l <- list(...)
Run Code Online (Sandbox Code Playgroud)

然后我就能做到

if( is.null( l[["cex"]] ) ) l[["cex"]] <- 2
Run Code Online (Sandbox Code Playgroud)

但是,如何将此列表"插入"省略号参数?像(我知道这不起作用):

... <- l
Run Code Online (Sandbox Code Playgroud)

编辑:我可以在myplot定义中使用默认值(如@Thomas的答案所示),但我不想:函数接口将变得混乱.我想我可以像这样定义一个辅助函数:

 .myfunchelper <- function( x, cex= 2.0, ... ) {
   plot( x, cex= cex, ... )
 }

 myfunc <- function( x, ... …
Run Code Online (Sandbox Code Playgroud)

r ellipsis

10
推荐指数
1
解决办法
2406
查看次数

截断文本并在CSS中添加省略号

我试图截断一段文本并添加省略号以表示有更多内容.

我试图使用CSS属性text-overflow:ellipsis- 但是看一下它的例子似乎只能使用no-wrap它,因此它只能用于单行文本,因此不适合截断段落.

然后我想出了另一个解决方案,这几乎是正确的,但只有一个问题......

因此ellipsis,我没有使用属性截断,而是通过使用overflow:hidden和设置a 来截断旧方式max-height

.tourItem .tourInfo
{
max-height: 110px;
overflow: hidden;
display: block;
}
Run Code Online (Sandbox Code Playgroud)

然后创建我使用的整齐省略号 :after

.tourItem .tourInfo:after {content:'...';}
Run Code Online (Sandbox Code Playgroud)

这似乎是正确的方式,但我遇到了两个问题......

  1. overflow:hidden该办法:after的内容不会显示.但它是必需的,因为它控制截断的文本!
  2. 省略号(如果你取下它overflow:hidden)显示在文本部分的下方.我需要它看起来像它是文本行的一部分......

JS小提琴帮忙

css ellipsis

10
推荐指数
1
解决办法
1万
查看次数

省略一组名称

好吧,我确定某个人,某个地方必须已经为此提出了一个算法,所以我想在我开始(重新)发明它之前我会问.

我有一个任意(用户输入)非空文本字符串的列表.每个字符串可以是任意长度(0除外),它们都是唯一的.我想将它们显示给用户,但我想将它们修剪为我决定的固定长度,并用省略号(...)替换它们中的一部分.问题是我希望所有输出字符串都是唯一的.

例如,如果我有字符串:

  • Microsoft Internet Explorer 6
  • Microsoft Internet Explorer 7
  • Microsoft Internet Explorer 8
  • Mozilla Firefox 3
  • Mozilla Firefox 4
  • 谷歌Chrome 14

然后我不想修剪字符串的末尾,因为这是独特的部分(不想显示"Microsoft Internet ..."3次),但是切出中间部分是可以的:

  • 微软... rer 6
  • 微软...... rer 7
  • 微软... rer 8
  • Mozilla Firefox 3
  • Mozilla Firefox 4
  • 谷歌Chrome 14

其他时候,中间部分可能是唯一的,我想修剪结束:

  • 公司会议纪要,2010年5月25日 - 仅供内部使用
  • 公司会议纪要,2010年6月24日 - 仅供内部使用
  • 公司会议纪要,2010年7月23日 - 仅供内部使用

可能成为:

  • 公司会议纪要,2010年5月25日......
  • 公司会议纪要,2010年6月24日......
  • 公司会议纪要,2010年7月23日......

我想它应该永远不会在字符串的开头进行椭圆化,即使这样也是允许的,因为这看起来很奇怪.而且我猜它可能会在字符串中超过一个位置,但在合理范围内 - 可能2次就可以了,但是3次或更多似乎过多了.或者可能的次数不如剩余的块的大小重要:椭圆之间少于约5个字符将是毫无意义的.

输入(数量和大小)都不会非常大,因此性能不是主要问题(好吧,只要算法不会尝试愚蠢的事情,就像枚举所有可能的字符串一样,直到它找到一个有效的集合!) .

我想这些要求看起来非常具体,但我实际上相当宽松 - 我只是想描述一下我的想法.

之前有过这样的事吗?是否有一些现有的算法或库可以做到这一点?我用Google搜索了一些但到目前为止没有发现任何类似的内容(但也许我只是在谷歌上搜索).我不得不相信某个人已经想要解决这个问题了!

algorithm ellipsis

9
推荐指数
1
解决办法
742
查看次数

使用RTL在左侧使用文本溢出省略号的几个浏览器兼容性问题

我的目标是创建一个隐藏溢出和省略号的元素,除了我希望隐藏LEFT侧的字符,省略号也在左侧.这适用于大多数浏览器:

CSS:

#mydiv {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    direction:rtl;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="mydiv">foobar foobar foobar</div>
Run Code Online (Sandbox Code Playgroud)

当#mydiv比其内容更窄时,应该出现如下内容:

... obar foobar

但是,根据我的判断(以及对其他任何尝试此操作的人的公平警告,因为我已经direction:rtl在其他几个地方看到了解决方案),正确执行此操作的唯一主要浏览器似乎是Firefox.Safari和谷歌浏览器都会将省略号放在文本的左侧,但无论如何都会在右侧截断,如下所示:

... foobar foob

IE9和Opera彻头彻尾的困惑.IE在右侧截断并使文本与省略号重叠.Opera是迄今为止最具创造性的,它会使溢出在单个单词上显示一段时间(因为元素变得更窄,即),然后从右边开始截断最左边的单词.它也无法渲染省略号,在我做过的一个实验中,甚至将一个™角色一直向左移动.真.所以"foobar foobar foobar™"就变成了:

™foob foobar

另外需要注意的是,webkit浏览器的一个(非常烦人的)潜在选项可能是设置-webkit-rtl-ordering:visual左边的哪个截断但BUT也按字面顺序呈现相反的顺序:

... boofraboof

因此,通过浏览器或某种模糊特征嗅探,理论上可以设置该属性并动态反转元素的文本.

是否存在简单的跨浏览器解决方法,甚至是基于JS的复杂解决方案?

css cross-browser ellipsis css3 right-to-left

9
推荐指数
1
解决办法
2650
查看次数

如何在Android TextView中使用自定义省略号

我有一个maxlines = 3的TextView,我想使用自己的省略号,而不是

"Lore ipsum ..."
Run Code Online (Sandbox Code Playgroud)

我需要

"Lore ipsum ... [See more]"
Run Code Online (Sandbox Code Playgroud)

为了给用户一个线索,点击视图将扩展全文.

可能吗 ?

我正在考虑检查TextView是否有省略号,并且在这种情况下添加文本"[查看更多]"并在之后设置省略号,但我找不到这样做的方法.

也许如果我找到文本被剪切的位置,我可以禁用省略号并创建子字符串,然后添加"... [查看更多]",但我又不知道如何获得该位置.

android ellipsis textview

9
推荐指数
1
解决办法
6219
查看次数

va_list 还在 C++ 中使用吗?还是鼓励使用 template&lt;typename... T&gt; ?

在 C 中,定义可变长度参数的唯一方法是使用省略号声明其原型并使用va_list, va_start, va_arg,va_end来提取它们。就像printf系列和scanf系列一样。

在 C++11 中,引入了一种新方法,如下所示。

template <typename T, typename... MoreT>
void func(T arg, MoreT... args){
    // Do some stuff
    func(args);
}
Run Code Online (Sandbox Code Playgroud)

每种方法的优点和缺点是什么?在 C++ 中是否不鼓励使用或鼓励它们中的任何一个?

c++ ellipsis variadic-functions c++11

9
推荐指数
1
解决办法
2364
查看次数

SwiftUI 中的动画文本

SwiftUI 具有出色的动画功能,但它处理TextView 内容更改的方式存在问题。它对文本框的变化进行动画处理,但在没有动画的情况下立即更改文本。因此,当TextView的内容变长时,动画过渡会导致省略号 (...) 出现,直到文本框达到其全宽。例如,在这个小应用程序中,按下Toggle按钮在较短和较长的文本之间切换

这是代码:

import SwiftUI

struct ContentView: View {
    @State var shortString = true
    var body: some View {
        VStack {
            Text(shortString ? "This is short." : "This is considerably longer.").font(.title)
                .animation(.easeInOut(duration:1.0))
            Button(action: {self.shortString.toggle()}) {
                Text("Toggle").padding()
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是:如何避免省略号?将一个字符串动画化为两个字符串时,情况更糟,因为短字符串在动画化为较长字符串时完全被省略号替换。

例如,一种可能性是通过添加修饰符,.id(self.shortString ? 0 : 1)然后添加修饰符,为处于一种或另一种状态的视图分配一个单独的 id .transition()。这会将文本视为两个不同的视图,之前和之后。不幸的是,在我的情况下,我需要在更改期间移动文本位置,而不同的 id 使动画变得不可能。

我想解决方案是创造性地使用AnimatableData. …

animation text ellipsis swiftui

9
推荐指数
2
解决办法
3876
查看次数