Is that normal? That if a transaction is not confirmed, you will not be able to use your electrum wallet in such a way it will be offline at the time until the transactions is confirmed?
It was a bad coincidence. You can normally connect and use Electrum after sending a transaction.
Keep in mind that Electrum uses 3rd party servers your client is connecting to. You may have tried to connect by default to a server with connectivity issues.
Probably after more use of Electrum it'll cache a better list of servers. So as long as you have the latest Electrum and you have verified it, you should have nothing to worry about.
2. When I sent to my friend with higher fee, the previous transaction to electrum wallet was confirmed at the same minute when my friend transaction was confirmed, I think that is called cpfp? I have read about it before but I do not know how it works. Just to be 100% certain.
If you used as input a transaction with 0 confirmations, you used a high fee and it made the parent and your transaction confirm fast(er) (and usually in the same block) then yes, you did CPFP.
(From your explanation it's not 100% clear to me what you've done.)
3. Is it true that electrum wallet rbf can now be used to cancel a transaction? I should have experimented it myself but transaction fee is too high for now.
Yes and no. It won't cancel a transaction, it will "redirect" (replace) a transaction. This way you can send it to the same recipient, or another recipient or yourself.
And this works only if the transaction is not yet confirmed. Cancel Tx will just make the transaction go to yourself.
If you want to experiment, there's always testnet. There are testnet faucets where you can get testent coins for experimenting.
All you have to do is to start Electrum with the parameter
--testnetEdit: I see that
except the testent part the previous post has covered the questions. However, I've explained different. Still, if anybody considers it redundant please let me know and I'll remove mine.