If you only want to cross a particular value of a variable, then define a coverpoint that only has a bin for that value, and use that in the cross instead of the variable
y1: coverpoint y { bins set = {1}; }
ele1 : coverpoint type[1] { bins set = {1}; } /BTW type is a keyword
yXele1: cross y1, ele1;
You many not want to use a cross at all in this situation, a simple covergroup expression would work
yXele1: coverpoint y && type[1] {bins set = {1};}
Also take a look at my blog post for additional ideas: Get Ready for SystemVerilog 2012 - Verification Horizons