As a beginner, I think shooting for cross-platform is a huge mistake. It's just adding an extra layer of complexity that you don't need right now; what you need is to focus on learning core concepts and how they fit in to the overall flow of a graphics pipeline and structure of a program.
Either of OpenGL or Direct3D will give you that.
I have to admit right now that I'm biased so take the next two points with an appropriately sized grain of salt.
Driver quality is hugely important and even more so for a beginner. If something goes wrong you need a fairly reasonable reassurance that it's due to a problem in your own code and not a driver bug. Direct3D drivers are just so much higher quality, owing to not needing to support decades of accumulated legacy, having a simpler driver model and a tighter certification process.
Tools, documentation, examples, etc tend to be better for Direct3D. In particular you get the debug runtimes and PIX, both of which are extremely valuable for hunting down problems in your code.
U62's final paragraph is correct - OpenGL is not as portable as it is often made out to be. You can achieve a certain level of portability by restricting youself to a common subset of full OpenGL and OpenGL ES, but again with the extra layer of complexity thing. It's most definitely not a simple "recompile and off you go" however, and even if it were you would still have to deal with other platform-specific subsystems (sound, memory, input, file access, threading, networking, windowing, etc) - the code for which may even dwarf the rendering code.