Some parts of the Ethernet frame are processed entirely by the hardware and thus usually not seen by software, which is why you won't see those with Wireshark.
The part of the Ethernet frame before the MAC addresses is used for synchronizing the receiving of the packet. Thus it would be difficult for the hardware to make this visible to the software. It is only after the preamble that the hardware knows where the packet starts, at which point it is too late to capture the preamble.
The CRC is commonly verified in hardware and thus there is little reason to make this visible to the software layers. But I don't see any technical reason preventing this from being made visible to software. I wouldn't be surprised if at some point a manufacturer of a low-end network interface decided to cut a few cents off the hardware manufacturing price by making the driver responsible for CRC verification. If such interfaces do in fact exist, it would be possible to make the CRC visible in packet captures on those. But Wireshark is intended to work across a wide range of hardware, so making those few bytes visible would be problematic due to not being possible on all hardware.
It would not make a lot of sense for the gap between packets to be visible in captures because what you see in the captures are packets and the gap isn't part of any packet.