 		for block in @blocks
 			size = block.measure()
 			measuredWidth = Math.max(measuredWidth, size.width)
-			if constraints.height? and (measuredHeight + size.height) > constraints.height
-				fontSize = parseFloat(@getStyle("fontSize", block))
-				lineHeight = parseFloat(@getStyle("lineHeight", block))
-				availableHeight = constraints.height - measuredHeight
-				visibleLines = Math.floor(availableHeight / (fontSize*lineHeight))
-				block.setStyle("WebkitLineClamp", visibleLines)
-				size = block.measure()
+			constrainedHeight = if constraints.height? then constraints.height / currentSize.multiplier else null
+			if  not @autoWidth and
+				@textOverflow? and @textOverflow in ["clip", "ellipsis"] and
+				constrainedHeight? and (measuredHeight + size.height) > constrainedHeight
+					fontSize = parseFloat(@getStyle("fontSize", block))
+					lineHeight = parseFloat(@getStyle("lineHeight", block))
+					availableHeight = constrainedHeight - measuredHeight
+					print lineHeight, availableHeight, fontSize, availableHeight / (fontSize*lineHeight)
+					visibleLines = Math.max(1, Math.floor(availableHeight / (fontSize*lineHeight)))
+					# print visibleLines
+					block.setTextOverflow(@textOverflow, visibleLines)
+					size.height = availableHeight
+					# print constrainedHeight, size
+			else
+					block.setTextOverflow(null)
 			measuredHeight += size.height
 
 		m.removeChild @element

	measure: (currentSize) ->
		constraints = {}
		if not @autoWidth
			constraints.width = currentSize.width
		if not @autoHeight
			constraints.height = currentSize.height

		m = getMeasureElement(constraints)
		measuredWidth = 0
		measuredHeight = 0

		firstStyle.setText(text)
		@inlineStyles = [firstStyle]

	setTextOverflow: (textOverflow, maxLines=1) ->
		if textOverflow in ["ellipsis", "clip"]
			@setStyle("overflow", "hidden")

			multiLineOverflow = textOverflow is "ellipsis"
			if multiLineOverflow
				@setStyle("WebkitLineClamp", maxLines)
				@setStyle("WebkitBoxOrient", "vertical")
				@setStyle("display", "-webkit-box")
			else
