Question: I have a div. Inside this div are 2 smaller divs. I want one of the smaller divs to have `overflow:visible`, and the other to have `overflow:hidden`. Can't figure out what selectors allow me to do this, I think I'm missing something super simple.

**edit** Sorry, let me rephrase that: I want the main div to have the style `overflow:visible` only applied to one of the child divs, while the main div also has the style `overflow:hidden` apply to the other. 

Example: 

<http://jsfiddle.net/3fQBt/>

```
<div id="body">
  <div id="visible">This div should be visible.</div>
  <div id="hidden">This div should be hidden.</div>
</div>

#body{
  width:300px;
  height:300px;
  margin:20px;
  position:relative;
  float:left;
  overflow:visible;
}

#visible{
  width:100%;
  height:100px;
  margin-left:-20px; //this should overflow visibly
  position:relative;
  float:left;
}

#hidden{
  width:100%;
  height:100px;
  margin-left:-20px; //this should be hidden
  position:relative;
  float:left;
}

```

Answer: 
Here's a couple of solutions:

HTML:

```
<div id="body">
    <div id="visible">This div should overflow.</div>

    <div id="hidden1">This div shouldn't.</div>

    <div id="clip">
        <div id="hidden2">This div shouldn't.</div>
    </div>
</div>

```

CSS:

```
/* solution 1 uses text-indent to create the clipping and a red block to cover the excess background blue on the right */

#hidden1 {
    width:100%;
    height:100px;
    background-color:#00f;
    color:#fff;
    text-indent: -20px;

    position:relative;
    float:left;
}
#hidden1:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
    height: 100%;
    background-color: red;
}

/* solution 2 uses a second div with overflow: hidden to clip the text to get around the parent div's overflow: visible */

#clip {
    overflow: hidden;
    position:relative;
    float:left;
    width: 100%;
}

#hidden2{
    width:100%;
    height:100px;
    background-color:#00f;
    color:#fff;
    margin-left:-20px;

    position:relative;
    float:left;
}

```

[Fiddle here](http://jsfiddle.net/2cQqG/)
Can't you reduce de `width` of the second div and remove the negative `margin-left` like this:

```
#hidden{
  width: calc(100% - 20px);
  height:100px;
  position:relative;
  float:left;
}

```

[Demo](http://jsfiddle.net/j66tE/)

**EDIT:** Added calc() on CSS