I am a software developer who focusses more on the domain model and backend. I am looking at some front end code (css like this):

```
ul#flex-container {
    list-style-type: none;
    margin: 0;
    padding:0;
    display: flex;
}

```

The HTML looks like this:

```
  <div id="container">
    <ul id="flex-container">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    </div>

```

I understand the concept of descendant selectors and parent selectors. However, why have:

```
ul#flex-container 

```

The reason I ask is because:

```
flex-container 

```

works on its own. I understand there is a reason for this, but I cannot find an answer.