Controlling Completely RGB LED Strips

So I want to control a RGB LED strip with an Arduino, I need to be able to turn the colours off and change the brightness individually. The RGB LED strip has a 12v line and a line for each colour.

After research most sources said the best plan was to use N-Channel MOSFET, I then wired MOSFETS up and got it to be able to change the brightness slightly but never completely off and only made small difference to the brightness.

I basically want complete control over the strip using an arduino, not sure how to do this would appreciate any help.

Equipment being used/mentioned:
Arduino Uno
12v RGB LED Strip 6M
A N-Channel MOSFET IRFZ44N
12v Power Supply

First of all, you need logic level MOSFETs. An IRFZ44N needs around 10V on the gate to fully turn on, the Arduino's outputs are only 5V.

You have to connect the grounds of the 12V power supply and the Arduino together.
Connect the 12V to the LED strip. Connect the 3 color lines to the drains of 3 LL MOSFETS, connect the sources to ground.
Then connect three 270Ω resistors to the gates. Connect the other ends of these resistors to 3 PWM pins on the Arduino. Connect these three pins to ground via 100kΩ pull-down resistors.

Then use analogWrite(pin, brigtness) to set the brightness of each color. Brightness is a number between 0 and 255, and pin is a PWM-capable pin that has been set to OUTPUT.

Pieter