A React Component which can help you clamp Multi-line text.
- Install with npm:
npm install react-line-clamp
- Clone the repo:
https://github.com/oglen/react-clamp
-
require react-clamp to your react component:
import Clamp from 'react-line-clamp';
-
Use react-clamp in your component:
class Component extends React.Component { componentDidMount() { window && window.addEventListener('resize', event => { this.refs.aCard.adjustContext(); }); } render() { return <div className="container"> <div className="grid" id="demo"> <div className="column"> <Clamp className="card" innerClassName="inner-card" ellipsis="..." ref="aCard" autoAdjustInterval={0} style={{height: '150px'}} innerStyle={{color: "#366"}}> Brisbane’s Waterfront Place and the Eagle Street Pier retail complex were snapped up by property giant Dexus Property Group and Dexus Wholesale Property Fund for a staggering $635 million. </Clamp> </div> <div className="column"> <Clamp className="card" innerClassName="inner-card" ellipsis="<span> <a href="#">Read More</a></span>" ref="bCard"> Brisbane’s Waterfront Place and the Eagle Street Pier retail complex were snapped up by property giant Dexus Property Group and Dexus Wholesale Property Fund for a staggering $635 million. </Clamp> </div> </div> </div> } ... }
In default, the option is {autoAdjustInterval: 200}, it will ensure adjusting is automatic.
-
And set the card style:
.card { height: 60px; overflow: hidden; line-height: 20px; }
There is a clear and concise example in the repo, preview it in following steps:
Enter the project fold and execute:
npm install
gulp
And visit link:
/demo/index.html