Question: I'm wondering if there is a way to fix an element inside a visible area of the `div` as I've described in the image below.

[![Position of fixed element inside div](https://i.stack.imgur.com/7YXQI.png)](https://i.stack.imgur.com/7YXQI.png)

Here is an example of my problem ([jsfiddle](https://jsfiddle.net/o5Lb6qyw/6/)):

HTML:

```
<div id="header" ></div>
    <div id="menu">
        <a id="menu-collapse">collapse</a>
        <div id="some-block"></div>
    </div>
<div id="content"></div>

```

CSS:

```
#menu {
    position: fixed;
    top: 70px;
    bottom: 0px;
    left: 0;
    width: 200px;
    background-color: rgb(100, 134, 27);
    overflow-x: auto;
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 70px;
    background-color: rgb(27, 48, 0);
    min-width: 540px;
}

#menu-collapse{

}

#content {
    position: fixed;
    top: 70px;
    right: 0px;
    bottom: 0px;
    left: 200px;
    background-color: rgb(27, 118, 0);
}

#some-block{
    position:absolute;
    display:inline;
    background-color: yellow;
    width: 200px;
    height: 2500px;
}

```

I need to have `#menu-collapse` in the middle of the visible area of `#menu`, while scrolling `#menu`.

Answer: 
As far as I know, FAKE does not have any built-in configuration system, but you can use any of the F# libraries for working with XML to read the configuration file. One nice option would be to use the XML type provider from [F# Data](http://fsharp.github.io/FSharp.Data/).

You'd need to make sure the `FSharp.Data` package is restored before FAKE is run (in the same way in which you're downloading FAKE). Then you can write `config.xml` looking like this:

```
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <temp-folder>C:\temp</temp-folder>
  <executable>foo.exe</executable>
</configuration>

```

If you then add reference to F# Data and open the `FSharp.Data` namespace:

```
#r "System.Xml.Linq.dll"
#r "packages/FSharp.Data/bin/FSharp.Data.dll"
open FSharp.Data

```

You can then use the XML provider. This can actually pick the names of the XML elements and makes them accessible as properties, so you get really nice access to the config:

```
type Config = XmlProvider<"config.xml"> // Assuming this is in the same folder
let config = Config.GetSample()

config.Executable
config.TempFolder

```
Put the values for these custom paths in a .fsx file
Include this .fsx file in your main build script