Hello Mohammad
Yes, there are several types of Ethernet framing, two of which are the most common that you mention above.
Ethernet II has a two byte EtherType field that identifies the upper layer protocol (e.g. IP) that encapsulates the frame. For example, a value of 0x0800 indicates an IPv4 packet while a value of 0x0806 indicates an ARP frame.
The IEEE 802.3 standard changes the role of the EtherType field to a “Data Length Field”.
Later on, because both types were in wide use, IEEE 802.3 incorporated Ethernet II and standardised both formats.
Today, both of these formats can coexist on the same network. The method by which network devices know how to interpret each frame as one or the other is by the EtherType /Length field. If it is >= 1536 (0x0600) then it is an Ethernet II frame and that field is interpreted as an EtherType field. If it is <= 1500 it is an 802.3 frame and that field is interpreted as a Length field. Values between 1501 and 1535 are considered undefined and under normal circumstances should never be encountered. Therefore both standards can use the same medium.
I hope this has been helpful!
Laz