The question is that, what if the client only supports TLS 1.1 and the server has TLS1.2 or SSL 3.0 enabled. Will it then go back to SSL 3.0 because the server doesn’t have TLS 1.1 enabled?
In the SSL/TLS handshake, things go thus: the client sends a maximum supported version; then the server chooses the version that will be used, and sends it to the client.
The server, by definition, won't choose a protocol version that it does not support. The server will try to select a version that it supports and that is also supported by the client; however, the server has only partial information about what the client supports, since it only received a "maximum supported version". If the client says "up to TLS 1.1", then the server knows that the client supports TLS 1.1 (or least claims to) but not TLS 1.2; whether the client would support/accept TLS 1.0 or older protocol versions is unknown to the server at that point.
In your envisioned situation, if the server supports only TLS 1.2 and SSL 3.0, then it will select only TLS 1.2 or SSL 3.0. If the client says "I support up to TLS 1.1", then the server will not select TLS 1.2 (since, at this point, the server knows that the client does not support it); therefore, it will choose SSL 3.0, which is its only other choice. The client, upon receiving that answer from the server, may very well say "SSL 3.0? What sort of antique server is that? Why not flint stone tools while we're at it?" and refuse to communicate any further.
Basically, for the handshake to succeed, there must be a protocol version that both client and server support. If the client supports only TLS 1.1, and the server supports only TLS 1.2 and SSL 3.0, then there is no common protocol version, and communications won't happen.
Now there may be weird situations in which client and server fail to notice that they do have a version that they both support. For instance, the client, for some reason, supports TLS 1.0 and 1.2, but not TLS 1.1; and the server supports TLS 1.0 and 1.1, but not TLS 1.2. In such a situation, the client will claim to support "up to TLS 1.2", and the server, who knows only TLS 1.0 and 1.1, will choose TLS 1.1, that the client will reject.
In practice, such situations do not occur, because implementations don't have "holes" in the range of protocol versions that they support. If a client or server supports versions X and Y, then it will also support all versions between X and Y. It makes very little sense to support TLS 1.0 and TLS 1.2 but not TLS 1.1.