In Unity UI, LayoutElement has a min, prefered and flxible size, but it do not have a max size property.

For example if I have a `text1` and

```
layoutElement.flxibleWith = 1
layoutElement.minHeight  = 19

```

`text1` with one line txt:

[![text1 with one line txt](https://i.stack.imgur.com/GF1EN.png)](https://i.stack.imgur.com/GF1EN.png)

But when I load text in `text1` it continues spreading it height with no limits:

[![enter image description here](https://i.stack.imgur.com/2JhC5.png)](https://i.stack.imgur.com/2JhC5.png)

I have made a script:

```
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

[ExecuteInEditMode]
[RequireComponent(typeof(LayoutElement))]

public class LayoutElementMaxSize : MonoBehaviour
{

private LayoutElement layoutElement;
private ContentSizeFitter contentSizeFitter;
private RectTransform rectransform;

public bool controllWidth;
public bool controllHeight;

public float maxHight;
public float maxWidth;

void Start()
{
    layoutElement = GetComponent<LayoutElement>();
    rectransform = GetComponent<RectTransform>();
}

public void Update()
{
    if(rectransform.hasChanged)
     {
        rectransform.hasChanged = false;

        if (controllHeight)
        {
            layoutElement.preferredHeight = -1;

            layoutElement.CalculateLayoutInputHorizontal();
            layoutElement.CalculateLayoutInputVertical();

            if (rectransform.rect.height >= maxHight)
            {
                layoutElement.preferredHeight = maxHight;
            }
        }

        if (controllWidth)
        {
            if (rectransform.rect.height >= maxWidth)
            {
                layoutElement.preferredWidth = maxWidth;
            }
            else
            {
                layoutElement.preferredWidth = -1;
            }
        }
    }
}}

```

but it is not full filing my requirement plz take a look on it ..