For an above and below type fill, as an alternative to @Jonie you can use FillingStyle
:
FillingStyle->{Subscript[g, -],Subscript[g, +]}
specifies that the
filling should be done with Subscript[g, -]
when a point, curve or
surface lies below the object being filled to, and with Subscript[g,
+]
when it lies above.
Plot[1 - x, {x, 0, 1}, Filling -> {1 -> Top, 1 -> Bottom},
FillingStyle -> {Green, Blue}]
Edit
After re-reading I am not entirely sure what you are looking for. If you want the fill constrained in the x direction as well then:
Plot[{If[0 <= x <= 1, 1 - x], 1 - x}, {x, 0, 2},
Filling -> {1 -> Top, 1 -> Axis}, FillingStyle -> {Green, Blue}]