Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 两行文字溢出省略号_Html_Css - Fatal编程技术网

Html 两行文字溢出省略号

Html 两行文字溢出省略号,html,css,Html,Css,我知道你可以使用CSS规则的组合使文本在溢出时以省略号结尾(…) 是否有可能(随意说“不”)达到相同的效果,但让文本在多行上换行 如您所见,当文本宽度超过div的宽度时,文本以省略号结尾。但是,仍然有足够的空间将文本换行并继续。这会被空白:nowrap中断,省略号必须使用空白 有什么想法吗 注意:没有JS解决方案,如果可能的话是纯CSS。不确定你的目标是什么,但是你想让文本出现在第二行吗 这是您的JSFIDLE:刚刚删除了以下内容: white-space:nowrap; 我不

我知道你可以使用CSS规则的组合使文本在溢出时以省略号结尾(…)

是否有可能(随意说“不”)达到相同的效果,但让文本在多行上换行

如您所见,当文本宽度超过div的宽度时,文本以省略号结尾。但是,仍然有足够的空间将文本换行并继续。这会被
空白:nowrap
中断,省略号必须使用空白

有什么想法吗


注意:没有JS解决方案,如果可能的话是纯CSS。

不确定你的目标是什么,但是你想让文本出现在第二行吗

这是您的JSFIDLE:刚刚删除了以下内容:

     white-space:nowrap;  
我不确定这是否是你想要的

问候,


Mee

这是一个完全的黑客攻击,但它可以工作:


它确实有问题。。。。它可能会笨拙地截断一封信,并且可能会在一个有响应的网站上产生一些奇怪的结果。

我不确定你是否看到了这一点,但Chris Coyier的优秀CSS-Tricks.com不久前发布了一个链接,它是一个纯CSS解决方案,完全满足了你的需求

HTML: 当然,作为一个纯CSS解决方案意味着它也是一个相当复杂的解决方案,但它的工作方式干净优雅。我认为Javascript是不可能的,因为用Javascript实现这一点要容易得多(而且可以说更容易降解)

作为一个额外的好处,有一个完整的过程(如果你想了解它和所有),但也有一个SASS混合文件,以便您可以折叠到您的过程轻松peasy

希望这有帮助


看看这个纯css版本:


我的解决方案重用了amcdnl中的一个,但我的后备方案包括使用文本容器的高度:

.my-caption h4 {
    display: -webkit-box;
    margin: 0 auto;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;

    height: 40px;/* Fallback for non-webkit */
}

简单的CSS属性可以做到这一点。以下是三行省略号

display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;

我发现一个线条夹和线条高度的组合是有效的:D

下面是一个使用jQuery管理省略号的简单脚本。 它检查元素的实际高度,并创建隐藏的原始节点和截断的节点。 当用户单击时,它会在两个版本之间切换

最大的好处之一是“省略号”与预期的一样接近最后一个单词

如果您使用纯CSS解决方案,则这三个点与最后一个单词似乎相距很远

函数manageShortMessages(){
$('.myLongVerticalText')。每个(函数(){
如果($(此)[0]。滚动高度>$(此)[0]。客户端高度)
$(this.addClass('省略号short');
});
$('.myLongVerticalText.省略号')。每个(函数(){
var original=$(this.clone().addClass('original notrun阳离子').removeClass('short').hide();
美元(本)。在(原件)之后;
//调试器;
var shortText='';
shortText=$(this.html().trim().substring(0,60)+'…';
$(this).html(短文本);
});
$('.myLongVerticalText.省略号')。单击(函数(){
$(this.hide();
if($(this).hasClass('original'))
{
$(this.parent().find('.short').show();
}
其他的
{
$(this.parent().find('.original').show();
}
});
}
manageShortMessages()
div{
边框:1px纯红;
利润率:10px;
}
div.myLongVerticalText{
高度:30px;
宽度:450px;
}
div.myLongVerticalText.省略号{
光标:指针;
}
div.myLongVerticalText.original{
显示:内联块;
身高:继承;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者。悬念坐在亨德雷特广场、奥古斯都广场和埃拉特广场。波苏尔门静脉曲张。阿利奎姆·埃拉特·帕特。乌拉姆科佩尔·马莱苏亚达·比本杜姆。埃蒂亚姆·弗里利亚、普尔文纳大道、奥古斯·奥奇·莫利斯大道、拉奥里特·维韦拉大道、爱神大道。普尔维纳连续相位。费吉亚特的埃格斯塔斯·埃拉特贵宾。埃涅亚欧盟委员会。纳勒姆调味品turpis eu tristique malesuada。
阿涅亚矢状体前矢状体ullamcorper拍卖人。这是一种常见的酒后驾车,也可以是一种调味品,也可以是一种美味佳肴。相位效率或设备是常用的。Donec convallis nunc sed mauris vehicula,非faucibus neque vehicula。Donec scelerisque luctus dui eu commodo。整数eu quam是一个完整的eu quam。奎斯克·坦普斯·佩伦茨克·亨德雷特。塞德·奥奇·夸姆(Sed orci quam)、波苏尔·欧盟(posuere eu)的封建者、康格·塞德·费利斯(congue Sed felis)。在我们的孕妇书中,帕特·乌纳·维塔,库苏斯·胡斯托。Nam suscipit是一家专门的公司。面神经斜肌,面神经,面神经。在arcu ac magna viverra tincidunt的Donec。
一行Lorem ipsum dolor sit amet。

根据我在stackoveflow中看到的答案,我创建了这个较少的mixin():

用法
下面的Css应该可以做到这一点

在第二行之后,文本将包含

line-height: 1em;
max-height: 2em;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;

结合两个类似乎更优雅。如果只有一行需要查看,则可以删除两行

椭圆{
空白:nowrap;
显示:内联块;
溢出:隐藏;
文本溢出:省略号;
}
.两行{
-webkit线夹:2个;
显示:-网络工具包盒;
-网络工具包盒方向:垂直;
空白:正常;
}
.宽度{
宽度:100px;
边框:1px纯色热粉色;
}

一些课文一些课文一些课文一些课文一些课文一些课文一些课文一些课文一些课文
一些课文一些课文一些课文一些课文一些课文一些课文一些课文一些课文一些课文

几乎所有浏览器都可以限制几行,但省略号(3点)不会被删除
html,body,p {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
}
.ellipsis {
    overflow: hidden;
    height: 200px;
    line-height: 25px;
    margin: 20px;
    border: 5px solid #AAA;
}
.ellipsis:before {
    content: "";
    float: left;
    width: 5px;
    height: 200px;
}
.ellipsis > *:first-child {
    float: right;
    width: 100%;
    margin-left: -5px;
}
.ellipsis:after {
    content: "\02026";
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    float: right;
    position: relative;
    top: -25px;
    left: 100%;
    width: 3em;
    margin-left: -3em;
    padding-right: 5px;
    text-align: right;
    background-size: 100% 100%;/* 512x1 image,gradient for IE9. Transparent at 0% -> white at 50% -> white at 100%.*/
    background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAABCAMAAACfZeZEAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wDWRdwAAAP90Uk5TgsRjMZXhS30YrvDUP3Emow1YibnM9+ggOZxrBtpRRo94gxItwLOoX/vsHdA2yGgL8+TdKUK8VFufmHSGgAQWJNc9tk+rb5KMCA8aM0iwpWV6dwP9+fXuFerm3yMs0jDOysY8wr5FTldeoWKabgEJ8RATG+IeIdsn2NUqLjQ3OgBDumC3SbRMsVKsValZplydZpZpbJOQco2KdYeEe36BDAL8/vgHBfr2CvTyDu8R7esU6RcZ5ecc4+Af3iLcJSjZ1ivT0S/PMs3LNck4x8U7wz7Bv0G9RLtHuEq1TbJQr1OtVqqnWqRdoqBhnmSbZ5mXapRtcJGOc4t2eYiFfH9AS7qYlgAAARlJREFUKM9jqK9fEGS7VNrDI2+F/nyB1Z4Fa5UKN4TbbeLY7FW0Tatkp3jp7mj7vXzl+4yrDsYoVx+JYz7mXXNSp/a0RN25JMcLPP8umzRcTZW77tNyk63tdprzXdmO+2ZdD9MFe56Y9z3LUG96mcX02n/CW71JH6Qmf8px/cw77ZvVzB+BCj8D5vxhn/vXZh6D4uzf1rN+Cc347j79q/zUL25TPrJMfG/5LvuNZP8rixeZz/mf+vU+Vut+5NL5gPOeb/sd1dZbTs03hBuvmV5JuaRyMfk849nEM7qnEk6IHI8/qn049hB35QGHiv0yZXuMdkXtYC3ebrglcqvYxoj1muvC1nDlrzJYGbpcdHHIMo2FwYv+j3QAAOBSfkZYITwUAAAAAElFTkSuQmCC);
    background: -webkit-gradient(linear,left top,right top,
        from(rgba(255,255,255,0)),to(white),color-stop(50%,white));
        background: -moz-linear-gradient(to right,rgba(255,255,255,0),white 50%,white);
        background: -o-linear-gradient(to right,rgba(255,255,255,0),white 50%,white);
        background: -ms-linear-gradient(to right,rgba(255,255,255,0),white 50%,white);
        background: linear-gradient(to right,rgba(255,255,255,0),white 50%,white);
    }
display: -webkit-box;
max-width: 400px;
height: 109.2px;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.625;
.my-caption h4 {
    display: -webkit-box;
    margin: 0 auto;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;

    height: 40px;/* Fallback for non-webkit */
}
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
          text-overflow: ellipsis;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          line-height: 36px;
          max-height: 18px;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
.max-lines(@lines: 3; @line-height: 1.2) {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: @lines;
  line-height: @line-height;
  max-height: @line-height * @lines;
}
.example-1 {
    .max-lines();
}

.example-2 {
    .max-lines(3);
}

.example-3 {
    .max-lines(3, 1.5);
}
line-height: 1em;
max-height: 2em;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
div {
width: 300px;
height: 2.8em;
line-height: 1.4em;
display: flex;
-webkit-line-clamp: 2;
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden; 
}
 <div style="height:45px; overflow: hidden; position: relative;">
     <span class=" block h6 font-semibold clear" style="overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box; 
        line-height: 20px; /* fallback */
        max-height: 40px; /* fallback */
        -webkit-line-clamp: 2; /* number of lines to show */
        -webkit-box-orient: vertical;">
        {{ event?.name}} </span>
 </div>
 display: -webkit-box;
 max-width: 100%;
 margin: 0 auto;
 -webkit-line-clamp: 2;
 /* autoprefixer: off */
 -webkit-box-orient: vertical;
 /* autoprefixer: on */
 overflow: hidden;
 text-overflow: ellipsis;
line-height: 1em;
max-height: 2em;
display: -webkit-box;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
    <div style="width: 293px; height:48px; overflow: hidden; ">
        More than two line of text goes here-More than two line of text goes here
    </div>
    <div style="position: relative; top: -24px; width: 293px; height:24px; 
             background: linear-gradient(90deg, rgba(255,0,0,0) 40%, rgba(255,255,255,1) 99%);">
    </div>
const useStyles = makeStyles((theme) =>
  createStyles({
    fadeText: {
      background: `linear-gradient( 180deg, #FFFFFF00, 0%, #FFFFFF06 30%, #FFFFFFFF 100%)`,
      pointerEvents: "none",
    }
  })
)
<Grid container justify="center">
  <Grid item xs={8} sm={6} md={4}>
    <Box>
      <Box
        component="div"
        overflow="hidden"
        display="flex"
        flexDirection="column"
        fontFamily="Roboto"
        fontSize="body1.fontSize"
        fontWeight="fontWeightLight"
        textAlign="justify"
        height={['8rem']}
      >
        <Box display="flex">
          Lorem ipsum dolor sit amet, consectetur adipiscing
          elit, sed do eiusmod tempor incididunt ut labore
          et dolore magna aliqua. Ut enim ad minim veniam,
          quis nostrud exercitation ullamco laboris nisi ut
          aliquip ex ea commodo consequat. Duis aute irure
          dolor in reprehenderit in voluptate velit esse
          cillum dolore eu fugiat nulla pariatur. Excepteur
          sint occaecat cupidatat non proident, sunt in
          culpa qui officia deserunt mollit anim id est
          laborum.
        </Box>
      </Box>
      <Box
        className={classes.fadeText}
        display="block"
        position="relative"
        top="-4rem"
        height="4rem"
      />
    </Box>
  </Grid>
</Grid>
const useStyles = makeStyles((theme: Theme) =>
  createStyles({
    fadeText: {
      background: `linear-gradient( 180deg, ${theme.palette.background.paper}00 0%, ${theme.palette.background.paper}06 30%, ${theme.palette.background.paper}FF 100%)`
    } 
  })
)