There are a few ways of doing this, The easiest would be using css.
Find your the twentyeleven’s theme css file. Probably located at /wp-content/themes/twentyeleven/style.css
Add the following classes anywhere in the file. I would add them near the top right about the “html, body, div, span, applet, object, iframe,” line.
/* Custom logo */
h1#site-title, h2#site-description {
text-indent: -99999px;
}
body #branding hgroup{
margin-top: 20px;
background: url(/wp-content/themes/twentyeleven/images/logo.png) left center no-repeat;
margin-bottom: -20px;
}
/*end custom logo */
New if you name your logo logo.png, and put it in the /wp-content/themes/twentyeleven/images folder, it will show up on the site right where the text used to be.
If you are concerned with not wanted to edit the twenty eleven theme you may also do this with a child theme.
For that you will want to create a folder in the /wp-content/themes folder and name it whatever you want. twentyeleven-child is not a bad choice.
Copy and paste the style.css file from the twentyeleven theme into this new folder.
Delete the top section between the /* and the ———————- */ and replace it with the following code.
/*
Theme Name: Twenty Eleven Child
Theme URI: http: //example.com/
Description: Child theme for the Twenty Eleven theme
Author: Your name here
Author URI: http: //example.com/about/
Template: twentyeleven
Version: 0.1.0
*/
You may edit this information to match yourself.
Now add the custom classes to this new file like I mentioned above.
Log into your site and go to Appearance=>Themes. You will see one named however you named the one above. Click on activate. Your site will now be running your child theme and be safe from upgrades and such.